/ / NodeJS URL analýzy výsledkov nesprávne - node.js, parsovanie, url

Analýza webových adries NodeJS nesprávne - node.js, parsovanie, url

Tu je kód:

var url = require("url");
console.log(url.parse("localhost:3000"));

Výsledky v produkcii sú nasledovné:

{ protocol: "localhost:",
host: "3000",
hostname: "3000",
href: "localhost:3000" }

Veľmi divné. Myslím, že je to preto, že na začiatku neexistuje "http". v takom prípade som čakal niečo ako:

{ port: "3000",
host: "localhost",
hostname: "localhost",
href: "localhost:3000" }

Akékoľvek tretie strany dobré knižnice alebo návrh na dosiahnutie tohto cieľa?

odpovede:

1 pre odpoveď č. 1

Presne povedané to, čo ste odovzdali, nie je platná webová adresa. Podľa RFC 3986 schéma nie je voliteľná:

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

hier-part   = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty

Vzhľadom na to by Node.js samozrejme v tomto prípade mohol upozorniť na neplatnú adresu URL.

Podľa môjho názoru, v takom triviálnom prípade, namiesto hľadania ďalšej knižnice by bolo lepšie len napísať niekoľko riadkov kódu na opravu adresy URL najprv pred jej odovzdaním do analyzátora.

okrem toho, v tomto konkrétnom prípade výlučne na základe vyššie uvedenej definície analyzátor má všetky dôvody na to, aby pochopil localhost ako schému, namiesto hostiteľa.