Heim  >  Artikel  >  Web-Frontend  >  Einführung in Methoden zum Betreiben von URLs in der NodeJS-URL module_node.js

Einführung in Methoden zum Betreiben von URLs in der NodeJS-URL module_node.js

WBOY
WBOYOriginal
2016-05-16 16:11:361070Durchsuche

URL-Modul

Das URL-Modul wird häufig bei der Verarbeitung von HTTP-Anfragen verwendet, da dieses Modul das Parsen von URLs, das Generieren von URLs und das Spleißen von URLs ermöglicht. Schauen wir uns zunächst die Bestandteile einer vollständigen URL an.

Code kopieren Der Code lautet wie folgt:

                           href
-------------------------------------------------- ---------------
Hostpfad
-------------------------------------------------- -------------------------------------------------- ----------- http: // user:pass @ host.com : 8080 /p/a/t/h ?query=string #hash
----- --------- -------- ---- -------- ------------- --- --
Protokoll Authentifizierung Hostname Port Pfadname Such-Hash
Seit Abfrage


Wir können die .parse-Methode verwenden, um eine URL-Zeichenfolge in ein URL-Objekt umzuwandeln. Das Beispiel sieht wie folgt aus.


url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');
/* =>
{ Protokoll: 'http:',
auth: 'user:pass',
host: 'host.com:8080',
Port: '8080',
Hostname: 'host.com',
Hash: '#hash',
Suche: '?query=string',
Abfrage: 'query=string',
Pfadname: '/p/a/t/h',
Pfad: '/p/a/t/h?query=string',
href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' }
*/


Was an die .parse-Methode übergeben wird, muss keine vollständige URL sein. Beispielsweise enthält request.url in der HTTP-Server-Rückruffunktion nicht den Protokollheader und den Domänennamen, kann aber auch mit .parse analysiert werden Verfahren.


http.createServer(Funktion (Anfrage, Antwort) {
var tmp = request.url; // => "/foo/bar?a=b"
url.parse(tmp);
/* =>
{ Protokoll: null,
       Schrägstriche: null,
Auth: null,
Host: null,
Port: null,
Hostname: null,
       Hash: null,
Suche: '?a=b',
Abfrage: 'a=b',
Pfadname: '/foo/bar',
Pfad: '/foo/bar?a=b',
href: '/foo/bar?a=b' }
*/
}).listen(80);


Die .parse-Methode unterstützt auch zweite und dritte optionale Parameter vom Typ Boolean. Wenn der zweite Parameter gleich „true“ ist, ist das Abfragefeld im von dieser Methode zurückgegebenen URL-Objekt keine Zeichenfolge mehr, sondern ein vom Querystring-Modul konvertiertes Parameterobjekt. Wenn der dritte Parameter gleich „true“ ist, kann diese Methode URLs ohne Protokollheader korrekt analysieren, z. B. //www.example.com/foo/bar.

Die Formatmethode ermöglicht wiederum die Konvertierung eines URL-Objekts in eine URL-Zeichenfolge, wie unten gezeigt.


Code kopieren Der Code lautet wie folgt:

url.format({
Protokoll: 'http:',
Host: „www.example.com“,
Pfadname: '/p/a/t/h',
Suche: 'query=string'
});
/* =>
'http://www.example.com/p/a/t/h?query=string'
*/

Darüber hinaus kann die .resolve-Methode zum Zusammenfügen von URLs verwendet werden, wie unten gezeigt.
Code kopieren Der Code lautet wie folgt:

url.resolve('http://www.example.com/foo/bar', '../baz');
/* =>

http://www.example.com/baz

*/

Abfragezeichenfolge

Das Querystring-Modul wird verwendet, um URL-Parameterzeichenfolgen und Parameterobjekte ineinander und voneinander zu konvertieren. Das Beispiel sieht wie folgt aus.

Code kopieren Der Code lautet wie folgt:

querystring.parse('foo=bar&baz=qux&baz=quux&corge');
/* =>
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }
*/

querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
/* =>
'foo=bar&baz=qux&baz=quux&corge='
*/
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn