ホームページ  >  記事  >  ウェブフロントエンド  >  nodejs URL module_node.js での URL の操作に関するメソッドの紹介

nodejs URL module_node.js での URL の操作に関するメソッドの紹介

WBOY
WBOYオリジナル
2016-05-16 16:11:361040ブラウズ

URL モジュール

url モジュールは、URL の解析、生成、および URL の結合を可能にするため、HTTP リクエストを処理するときによく使用されます。まず、完全な URL のコンポーネントを見てみましょう。

コードをコピー コードは次のとおりです:

href
-------------------------------------------------- ---------------
ホストパス
-------------------------------------------------- -------------------------------------------------- ----------- http://user:pass @ host.com : 8080 /p/a/t/h ?query=string #hash
----- -------- -------- ---- -------- ------------- --- --
プロトコル認証 ホスト名 ポート パス名 検索ハッシュ
以来 クエリ


.parse メソッドを使用して URL 文字列を URL オブジェクトに変換できます。例は次のとおりです。


url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');
/* =>
{ プロトコル: 'http:',
認証: 'ユーザー:パス',
ホスト: 'host.com:8080',
ポート: '8080'、
ホスト名: 'host.com',
ハッシュ: '#ハッシュ',
検索: '?クエリ=文字列',
クエリ: 'クエリ=文字列',
パス名: '/p/a/t/h',
パス: '/p/a/t/h?query=string',
href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' }
*/


.parse メソッドに渡されるものは完全な URL である必要はありません。たとえば、HTTP サーバーのコールバック関数では、request.url にはプロトコル ヘッダーとドメイン名が含まれませんが、.parse を使用して解析することもできます。方法。


http.createServer(関数 (リクエスト、レスポンス) {
var tmp = request.url // => "/foo/bar?a=b"
url.parse(tmp);
/* =>
{ プロトコル: null、
スラッシュ: null、
認証: null、
ホスト: null、
ポート: null、
ホスト名: null、
ハッシュ: null,
検索: '?a=b',
クエリ: 'a=b',
パス名: '/foo/bar',
パス: '/foo/bar?a=b',
href: '/foo/bar?a=b' }
*/
}).listen(80);


.parse メソッドは、ブール型の 2 番目と 3 番目のオプションのパラメーターもサポートしています。 2 番目のパラメーターが true に等しい場合、このメソッドによって返される URL オブジェクトでは、クエリ フィールドは文字列ではなくなり、querystring モジュールによって変換されたパラメーター オブジェクトになります。 3 番目のパラメーターが true に等しい場合、このメソッドは、//www.example.com/foo/bar などのプロトコル ヘッダーのない URL を正しく解析できます。

次に、次に示すように、format メソッドを使用して URL オブジェクトを URL 文字列に変換できます。


コードをコピー コードは次のとおりです:

url.format({
プロトコル: 'http:',
ホスト: 'www.example.com'、
パス名: '/p/a/t/h',
検索: 'クエリ=文字列'
});
/* =>
'http://www.example.com/p/a/t/h?query=string'
*/

さらに、以下に示すように、.resolve メソッドを使用して URL を結合することもできます。
コードをコピー コードは次のとおりです:

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

http://www.example.com/baz

*/

クエリ文字列

クエリ文字列モジュールは、URL パラメータ文字列とパラメータ オブジェクトを相互に変換するために使用されます。例は次のとおりです。

コードをコピー コードは次のとおりです:

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

querystring.stringify({ foo: 'bar', baz: ['qux', 'qux'], corge: '' });
/* =>
'foo=bar&baz=qux&baz=quux&corge='
*/
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。