Node.js v0.11.11 マニュアル & ドキュメンテーション
Table of Contents
URL#
Stability: 3 - Stable
このモジュールはURLの解決や解析の為のユーティリティを持ちます。
利用するには require('url')
を呼び出してください。
解析されたURLオブジェクトは、URL文字列の中に存在するかどうかに応じて 次に示すフィールドをいくつかもしくは全てを持ちます。 URL文字列に含まれないフィールドは解析結果のオブジェクトに含まれません。 次のURLで例を示します。
'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
href
: 解析する前の完全な URL。protocol と host はどちらも小文字化されます。例:
'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
protocol
: リクエストのプロトコル。小文字化されます。例:
'http:'
host
: URL の完全で小文字化されたホスト情報。ポート番号を含みます。例:
'host.com:8080'
auth
: URL の認証情報。例:
'user:pass'
hostname
: ホスト情報の中の小文字化されたホスト名。例:
'host.com'
port
: ホスト情報の中のポート番号。例:
'8080'
pathname
: URL のパス部分。ホスト情報からクエリまでの間に位置し、 最初にスラッシュが存在する場合はそれも含みます。例:
'/p/a/t/h'
search
: URL のクエリ文字列。先頭の ? マークも含みます。例:
'?query=string'
path
:pathname
とsearch
を連結した文字列。例:
'/p/a/t/h?query=string'
query
: クエリの変数部分の文字列、もしくはクエリ文字列を解析した オブジェクト。例:
'query=string'
or{'query':'string'}
hash
: URL の # マークを含む部分。例:
'#hash'
以下のメソッドはURLモジュールにより提供されます:
url.parse(urlStr, [parseQueryString], [slashesDenoteHost])#
URL文字列を引数に取り、解析結果のオブジェクトを返します。
querystring
モジュールを使ってクエリ文字列も解析したい場合は、
第 2 引数に true
を渡してください。
デフォルトは false
です。
//foo/bar
を { pathname: '//foo/bar' }
ではなく
{ host: 'foo', pathname: '/bar' }
としたい場合は、
第 3 引数に true
を渡してください。
デフォルトは false
です。
url.format(urlObj)#
URL オブジェクトを引数に取り、フォーマットした URL 文字列を返します。
href
は無視されます。protocol
の末尾に:
(コロン) があってもなくても同じように扱われます。http
、https
、ftp
、gopher
、file
は末尾に://
(コロン、スラッシュ、スラッシュ) が付けられます。mailto
、xmpp
、aim
、sftp
、foo
など、その他のプロトコルは末尾に:
(コロン) が付けられます。
auth
が与えられると使われます。hostname
はhost
が与えられなかった場合だけ使われます。port
はhost
が与えられなかった場合だけ使われます。host
はhostname
、port
の位置で使われます。pathname
の先頭に/
(スラッシュ) があってもなくても同じように扱われます。search
はquery
の位置で使われます。query
(文字列ではなくオブジェクトです;querystring
を参照してください) はsearch
が与えられなかった場合だけ使われます。search
の先頭に?
(クエスチョンマーク) があってもなくても同じように扱われます。hash
の先頭に#
(シャープ, アンカー) があってもなくても同じように扱われます。
url.resolve(from, to)#
ベースとなる URL と相対 URL を引数に取り、ブラウザがアンカータグに対して行うのと同様に URL を解決します。例:
url.resolve('/one/two/three', 'four') // '/one/two/four'
url.resolve('http://example.com/', '/one') // 'http://example.com/one'
url.resolve('http://example.com/one', '/two') // 'http://example.com/two'