class URI::HTTPS + URI::HTTP + URI::Generic + URI
クラスの継承リスト: URI::HTTPS < URI::HTTP < URI::Generic < URI < Object < Kernel < BasicObject
要約
HTTPS URI を表すクラスです。
特異メソッド
build(ary) -> URI::HTTP
build(hash) -> URI::HTTP
-
引数で与えられた URI 構成要素から URI::HTTP オブジェクトを生成します。 引数の正当性を検査します。
- [PARAM] ary:
-
構成要素を表す配列を与えます。要素は次の順です。
[userinfo, host, port, path, query, fragment]
- [PARAM] hash:
- 構成要素を表すハッシュを与えます。ハッシュのキーは :scheme, :userinfo, :host, :port, :path, :query, :fragment のいずれかです。
- [EXCEPTION] URI::InvalidComponentError:
- 各要素が適合しない場合に発生します。
例:
newuri = URI::HTTP.build({:host => 'www.example.com', :path> => '/foo/bar'}) newuri = URI::HTTP.build([nil, "www.example.com", nil, "/path", "query", 'fragment'])
build(ary) -> URI::Generic
build(hash) -> URI::Generic
-
引数で与えられた URI 構成要素から URI::Generic オブジェクトを生成します。
- [PARAM] ary:
-
構成要素を表す配列を与えます。要素は以下の順です。
[scheme, userinfo, host, port, registry, path, opaque, query, fragment]
- [PARAM] hash:
-
構成要素を表すハッシュを与えます。ハッシュのキーはシンボルは以下のいずれかです。
ハッシュの値は文字列で与えます。
:scheme ,:userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment
- [EXCEPTION] URI::InvalidComponentError:
- 各要素が適合しない場合に発生します。
build2(ary) -> URI::Generic
build2(hash) -> URI::Generic
-
URI::Generic.build と同じですが、例外 URI::InvalidComponentError が発生した場合に、引数の各要素を URI.escape して再度 build を試み ます。
- [PARAM] ary:
-
構成要素を表す文字列の配列を与えます。要素は以下の順です。
[scheme, userinfo, host, port, registry, path, opaque, query, fragment]
- [PARAM] hash:
-
構成要素を表すハッシュを与えます。ハッシュのキーはシンボルは以下
のいずれかです。 ハッシュの値は文字列で与えます。
:scheme, :userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment
component -> [Symbol]
-
URI の構成要素を表すシンボルの配列を返します。
require 'uri' p URI::Generic.component p URI::MailTo.component # => [:scheme, :userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment] # => [:scheme, :to, :headers]
unescape(str) -> String
decode(str) -> String
-
URI 文字列をデコードした文字列を返します。
このメソッドは obsolete です。
例:
require 'uri' puts URI.unescape('http://images.google.co.jp/images?q=%A5%E2%A5%CA%A5%EA%A5%B6&ie=EUC-JP') #=> "http://images.google.co.jp/images?q=モナリザ&ie=EUC-JP"
- [PARAM] str:
- URI を文字列として与えます。
decode_www_form(str, enc=Encoding::UTF_8) -> [[String, String]]
-
文字列から URL-encoded form data をデコードします。
application/x-www-form-urlencoded 形式のデータをデコードし、 [key, value] という形の配列の配列を返します。
enc で指定したエンコーディングの文字列が URL エンコードされたものと みなし、エンコーディングを付加します。
「_charset_ hack」はサポートされていません。 これで指定されたエンコーディングと Ruby のエンコーディングとの 対応がはっきりしないからです。これに関しては http://www.w3.org/TR/html5/parsing.html#character-encodings-0 も見てください。
このメソッドは http://www.w3.org/TR/html5/association-of-controls-and-forms.html#url-encoded-form-data にもとづいて実装されています。
ary = URI.decode_www_form("a=1&a=2&b=3") p ary #=> [['a', '1'], ['a', '2'], ['b', '3']] p ary.assoc('a').last #=> '1' p ary.assoc('b').last #=> '3' p ary.rassoc('a').last #=> '2' p Hash[ary] # => {"a"=>"2", "b"=>"3"}
- [PARAM] str:
- デコード対象の文字列
- [PARAM] enc:
- エンコーディング
- [EXCEPTION] ArgumentError:
- str のフォーマットが不正である場合に発生します
[SEE_ALSO] URI.decode_www_form_component, URI.encode_www_form
decode_www_form_component(str, enc=Encoding::UTF_8) -> String
-
URL-encoded form data の文字列の各コンポーネント をデコードした文字列を返します。
通常は URI.decode_www_form を使うほうがよいでしょう。
"+" という文字は空白文字にデコードします。
enc で指定したエンコーディングの文字列が URL エンコードされたものと みなし、エンコーディングを付加します。
このメソッドは http://www.w3.org/TR/html5/association-of-controls-and-forms.html#url-encoded-form-data にもとづいて実装されています。
- [PARAM] str:
- デコード対象の文字列
- [PARAM] enc:
- エンコーディング
- [EXCEPTION] ArgumentError:
- str のフォーマットが不正である場合に発生します
[SEE_ALSO] URI.encode_www_form_component, URI.decode_www_form
default_port -> Integer | nil
-
スキームに対応するデフォルトのポート番号を整数で返します。
require 'uri' URI::Generic.default_port # => nil URI::FTP.default_port # => 21 URI::HTTP.default_port # => 80 URI::HTTPS.default_port # => 443 URI::LDAP.default_port # => 389 URI::LDAPS.default_port # => 636 URI::MailTo.default_port # => nil
escape(str, unsafe = URI::UNSAFE) -> String
encode(str, unsafe = URI::UNSAFE) -> String
-
URI 文字列をエンコードした文字列を返します。
このメソッドは obsolete です。
代わりに ERB::Util.url_encode, CGI.escape, URI.encode_www_form_component, WEBrick::HTTPUtils.escape_form, WEBrick::HTTPUtils.escape などの使用を検討してください。 詳細は [ruby-core:29293] からのスレッドを参照してください。
例:
require 'uri' p URI.escape('http://images.google.co.jp/images?q=モナリザ&ie=EUC-JP') #=> "http://images.google.co.jp/images?q=%A5%E2%A5%CA%A5%EA%A5%B6&ie=EUC-JP"
- [PARAM] str:
- URI を文字列として与えます。
- [PARAM] unsafe:
- URI として指定できない文字を正規表現か文字列で指定します。
encode_www_form(enum) -> String
-
enum から URL-encoded form data を生成します。
HTML5 で定義されている application/x-www-form-urlencoded 形式の 文字列を生成します。
enum には通常 [key, value] という形の配列の配列を渡します。 以下の例を見てください。
URI.encode_www_form([["a", "1"], ["b", "2"], ["c", "x yz"]]) # => "a=1&b=2&c=x+yz"
実際には、each のブロック呼び出しで [key, value] の形のデータを渡すものであれば 何でも渡すことができます(例えば Hash など)。
URI.encode_www_form({"a"=>"1", "b"=>"2", "c"=>"x yz"}) # => "a=1&b=2&c=x+yz"
このメソッドは引数のエンコーディングを変換しません。そのため 送るデータのエンコーディングを変換したい場合はあらかじめ 変換しておいてください(例えば ASCII incompatible なものを UTF-8 に変換する場合など)。 各要素のエンコーデイングがばらばらの場合もあらかじめエンコーディングを 揃えてからこのメソッドを使うべきです。
このメソッドはファイルを入力にすることはできません。 ファイルを送りたい場合は multipart/form-data をつかうべきで このメソッドを使うべきではありません。
このメソッドは内部的に URI.encode_www_form_component を使っています。
このメソッドは http://www.w3.org/TR/html5/association-of-controls-and-forms.html#url-encoded-form-data にもとづいて実装されています。
- [PARAM] enum:
- エンコードするデータ列([key, value] という形のデータの列)
[SEE_ALSO] URI.encode_www_form_component, URI.decode_www_form
encode_www_form_component(str) -> String
-
文字列を URL-encoded form data の1コンポーネント としてエンコードした文字列を返します。
通常は URI.encode_www_form を使うほうがよいでしょう。
このメソッドでは *, -, ., 0-9, A-Z, _, a-z, は変換せず、 空白は + に変換し、その他は %XX に、変換します。
このメソッドは http://www.w3.org/TR/html5/association-of-controls-and-forms.html#url-encoded-form-data にもとづいて実装されています。
- [PARAM] str:
- エンコードする文字列
[SEE_ALSO] URI.decode_www_form_component, URI.encode_www_form
extract(str) -> [String]
extract(str, schemes) -> [String]
extract(str) {|uri_str| ... } -> nil
extract(str, schemes) {|uri_str| ... } -> nil
-
文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。
第2引数に文字列の配列 schemes が与えられた場合は そのスキームだけを検索します。
ブロックが与えられた場合は String#scan と同様で、 マッチした部分がみつかるたびに uri_str に その部分を代入してブロックを評価します。 このときは nil を返します。
- [PARAM] str:
- 文字列を与えます。
- [PARAM] schemes:
- 検索の対象としたいスキームを、文字列の配列として与えます。
例:
require 'uri' str = " http://www.ruby-lang.org/ http://www.ruby-lang.org/man-1.6/ " p URI.extract(str, ["http"]) => ["http://www.ruby-lang.org/", "http://www.ruby-lang.org/man-1.6/"]
join(uri_str, *path) -> object
-
文字列 uri_str と path ... を URI として連結して得られる URI オブジェクトを返します。
[RFC2396] の Section 5.2 の 仕様に従って連結します。 以下と等価です
URI.parse(uri_str) + path + ...
- [PARAM] uri_str:
- URI 文字列
- [PARAM] path:
- 後ろに連結する文字列
- [EXCEPTION] URI::InvalidURIError:
- パースに失敗した場合に発生します。
例:
require 'uri' p URI.join('http://www.ruby-lang.org/', '/ja/man-1.6/') => #<URI::HTTP:0x2010017a URL:http://www.ruby-lang.org/ja/man-1.6/>
new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::HTTP
-
汎用的な構成要素から URI::HTTP オブジェクトを生成します。build と異なり、デフォルトでは引数の正当性を検査しません。
- [PARAM] scheme:
- 構成要素を表す文字列を与えます。
- [PARAM] userinfo:
- 構成要素を表す文字列を与えます。
- [PARAM] host:
- 構成要素を表す文字列を与えます。
- [PARAM] port:
- 構成要素を表す文字列を与えます。
- [PARAM] registry:
- nil を与えます。
- [PARAM] path:
- 構成要素を表す文字列を与えます。
- [PARAM] opaque:
- 構成要素を表す文字列を与えます。
- [PARAM] query:
- 構成要素を表す文字列を与えます。
- [PARAM] fragment:
- 構成要素を表す文字列を与えます。
- [PARAM] arg_check:
- 真が与えられた場合は、各引数が字句規則に適合しているか否かを検査します。適合しな い場合は例外 URI::InvalidComponentError が起ります。
- [EXCEPTION] URI::InvalidURIError:
- registry に nil 以外を与えた時に発生します。デフォルトでは引数の正当性は、これ以外 検査しません。
- [EXCEPTION] URI::InvalidComponentError:
- 各要素が適合しない場合に発生します。
new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::Generic
-
各引数を成分とする URI::Generic オブジェクトを生成して返します。
- [PARAM] scheme:
- 構成要素 scheme を表す文字列を与えます。
- [PARAM] userinfo:
- 構成要素を表す文字列を与えます。
- [PARAM] host:
- 構成要素を表す文字列を与えます。
- [PARAM] port:
- 構成要素を表す文字列を与えます。
- [PARAM] registry:
- 構成要素を表す文字列を与えます。
- [PARAM] path:
- 構成要素を表す文字列を与えます。
- [PARAM] opaque:
- 構成要素を表す文字列を与えます。
- [PARAM] query:
- 構成要素を表す文字列を与えます。
- [PARAM] fragment:
- 構成要素を表す文字列を与えます。
- [PARAM] arg_check:
- 真が与えられた場合は、各引数が字句規則に適合しているか否かを検査します。適合しない場合は例外 URI::InvalidComponentError が起ります。
- [EXCEPTION] URI::InvalidURIError:
- use_registry が偽のとき、registry が与えられると発生します。
parse(uri_str) -> object
-
与えられた URI から該当する URI::Generic のサブクラスのインスタンスを生成して 返します。scheme が指定されていない場合は、URI::Generic オブジェクトを返します。
- [PARAM] uri_str:
- パースしたい URI を文字列として与えます。
- [EXCEPTION] URI::InvalidURIError:
- パースに失敗した場合に発生します。
例:
require 'uri' p uri = URI.parse("http://www.ruby-lang.org/") # => #<URI::HTTP:0x201002a6 URL:http://www.ruby-lang.org/> p uri.scheme # => "http" p uri.host # => "www.ruby-lang.org" p uri.port # => 80 p uri.path # => "/"
regexp -> Regexp
regexp(schemes) -> Regexp
-
URIにマッチする正規表現を返します。
schemes を与えた場合は、そのスキームの URI にのみマッチする 正規表現を返します。
いずれの場合も返り値の正規表現は不定数の正規表現グループ (括弧) を含みます。この括弧の数はバージョンによって変動 する可能性があるので、それに依存したコードを書くべきでは ありません。
また、有効なURIではない文字列(たとえば"http://") にも マッチするため、有効なURIかどうかは必要に応じて別途 検査してください。
- [PARAM] schemes:
- マッチさせたいスキームを、文字列の配列として与えます。
例:
require 'uri' p URI.regexp =~ "http://www.ruby-lang.org/" #=> 0
split(url) -> [String | nil]
-
URI を要素に分割した文字列の配列を返します。
各要素の種類と順番は以下のとおりです。
- scheme
- userinfo
- host
- port
- registry
- path
- opaque
- query
- fragment
- [PARAM] url:
- パースしたい URI を文字列として与えます。
- [EXCEPTION] URI::InvalidURIError:
- パースに失敗した場合に発生します。
例:
require 'uri' p URI.split("http://www.ruby-lang.org/") #=> ["http", nil, "www.ruby-lang.org", nil, nil, "/", nil, nil, nil]
use_registry -> bool
-
構成要素 registry を受け付けるなら true を返します。 URI::Generic クラスでは false です。
インスタンスメソッド
merge(rel) -> URI::Generic
self + rel -> URI::Generic
-
自身と与えられたパス rel を連結した新しい URI オブジェクトを生成して返します。
[RFC3986] の Section 5.2 の仕様に従います。 rel が文字列の場合は URI.parse(rel) によって、URI に変換してから連結します。
- [PARAM] rel:
- 連結したいパスを文字列か URI オブジェクトで与えます。
例:
require 'uri' p URI.parse('http://www.ruby-lang.org/') + '/en/raa.html' #=> #<URI::HTTP:0x201001c0 URL:http://www.ruby-lang.org/en/raa.html> URI('http://a/b/c/d;p?q').merge('?y') #=> #<URI::HTTP:0xb7ca2e2c URL:http://a/b/c/d;p?y> URI('http://a/b/c/d;p?q').merge('/./g') #=> #<URI::HTTP:0xb7ca2738 URL:http://a/g> URI('http://a/b/c/d;p?q').merge('/../g') #=> #<URI::HTTP:0xb7ca2008 URL:http://a/g> URI('http://a/b/c/d;p?q').merge('../../../g') #=> #<URI::HTTP:0xb7ca1888 URL:http://a/g> URI('http://a/b/c/d;p?q').merge('../../../../g') #=> #<URI::HTTP:0xb7ca10a4 URL:http://a/g>
route_from(src) -> URI::Generic
self - src -> URI::Generic
-
与えられた URI を表す src からの相対パスを返します。
- [PARAM] src:
- 自身の相対パスを算出するための、ルートとなる Absolute URI を与えます。
例:
require 'uri' p URI.parse('http://www.ruby-lang.org/en/raa.html') - 'http://www.ruby-lang.org/' #=> #<URI::Generic:0x20100256 URL:en/raa.html>
self == uri -> bool
-
引数に指定した URI (文字列またはURIオブジェクト)との一致判定を行い ます。URI は正規化して比較されます。
- [PARAM] uri:
- 比較したい URI を URI オブジェクトで指定します。
例:
require 'uri' u1 = URI.parse('http://example.com/?hoge') u2 = URI.parse('http://Example.Com/?hoge') p u1 == u2 #=> true
absolute -> bool
absolute? -> bool
-
自身に scheme が設定されているなら true を返します。そうでない場合は false を返します。
例:
p URI.parse('http://example.com/').absolute? #=> true p URI.parse('./').absolute? #=> false
component -> [Symbol]
-
self.class.component を返します。
[SEE_ALSO] URI::Generic.component
default_port -> Integer | nil
-
self.class.default_port を返します。
[SEE_ALSO] URI::Generic.default_port
fragment -> String | nil
-
自身の fragment を文字列で返します。設定されていない場合は nil を返します。
例:
require 'uri' u = URI.parse('http://example.com/#frgmt') p u.fragment #=> "frgmt"
fragment=(s)
-
自身の fragment を設定します。
- [PARAM] s:
- 自身の fragment を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
hierarchical? -> bool
-
自身に path が設定されているなら true を返します。そうでない場合は false を返します。
host -> String | nil
-
自身の host を文字列で返します。設定されていない場合は nil を返します。
host=(s)
-
自身の host を設定します。
- [PARAM] s:
- 自身の host を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- host と registry を同時に設定した場合に発生します。
merge!(rel) -> self
-
与えられたパス rel を自身へ連結します。
[RFC2396] の Section 5.2 の仕様に従います。 rel が文字列の場合は URI.parse(rel) によって、URI に変換してから連結します。
- [PARAM] rel:
- 連結したいパスを文字列か URI オブジェクトで与えます。
例:
u = URI.parse('http://www.ruby-lang.org/') u.merge!('/en/raa.html') p u.to_s #=> http://www.ruby-lang.org/en/raa.html
normalize -> URI::Generic
normalize! -> nil
-
URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと 構成要素がなければ '/' をセットします。
例:
u = URI.parse('http://Example.Com') p u.to_s #=> "http://Example.Com" p u.normalize.to_s #=> "http://example.com/"
opaque -> String | nil
-
自身の opaque を文字列で返します。設定されていない場合は nil を返します。
例:
p URI.parse('http://example.com/').opaque #=> nil p URI.parse('mailto:nospam@localhost').opaque #=> "nospam@localhost" p URI.parse('urn:ietf:rfc:1149').opaque #=> "ietf:rfc:1149"
opaque=(s)
-
自身の opaque を設定します。
- [PARAM] s:
- 自身の opaque を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- opaque とヒエラルキーパートを同時に設定した場合に発生します。
password -> String | nil
-
自身の password を文字列で返します。設定されていない場合は nil を返します。
password=(s)
-
自身の password を設定します。
自身に user が設定されていない場合には例外が発生します。
- [PARAM] s:
- 自身の password を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- userinfo と registry を同時に設定した場合に発生します。
path -> String | nil
-
自身の path を文字列で返します。設定されていない場合は nil を返します。
p URI.parse('http://example.com/hoge').path #=> "/hoge" p URI.parse('http://example.com').path #=> "" p URI.parse('mailto:nospam@localhost').path #=> nil p URI('ftp://example.com/foo').path #=> 'foo' p URI('ftp://example.com/%2Ffoo').path #=> '/foo'
path=(s)
-
自身の path を設定します。
- [PARAM] s:
- 自身の path を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- opaque と path を同時に設定した場合に発生します。
port -> String | nil
-
自身の port を文字列で返します。設定されていない場合は nil を返します。
port=(s)
-
自身の port を設定します。
- [PARAM] s:
- 自身の port を表す文字列か整数を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- port と registry を同時に設定した場合に発生します。
query -> String | nil
-
自身の query を文字列で返します。設定されていない場合は nil を返します。
例:
p URI.parse('http://example.com/?hoge').query #=> "hoge"
query=(s)
-
自身の query を設定します。
- [PARAM] s:
- 自身の query を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- opaque と query を同時に設定した場合に発生します。
registry -> String | nil
-
自身の registry を文字列で返します。設定されていない場合は nil を返します。
registry=(s)
-
自身の registry を設定します。
- [PARAM] s:
- 自身の registry を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- server 部と registry を同時に設定した場合に発生します。
relative? -> bool
-
自身に scheme が設定されていないなら true を返します。そうでない場合は false を返します。
例:
p URI.parse('http://example.com/').relative? #=> false p URI.parse('./').relative? #=> true
request_uri -> String
-
自身の「path + '?' + query」を文字列で返します。 query が nil である場合は、自身の path を返します。
path が空である場合には、path は「'/'」であるとします。
例:
require 'uri' u = URI.parse("http://example.com/search?q=xxx") p u.request_uri #=> "/search?q=xxx"
route_to(dst) -> URI::Generic
-
自身から dst への相対パスを返します。
- [PARAM] dst:
- URI を文字列かURIオブジェクトで与えます。
例:
require 'uri' p URI.parse('http://www.ruby-lang.org/').route_to('http://www.ruby-lang.org/en/raa.html') #=> #<URI::Generic:0x20100198 URL:en/raa.html>
scheme -> String | nil
-
自身の scheme を文字列で返します。設定されていない場合は nil を返します。
scheme=(s)
-
自身の scheme を設定します。
- [PARAM] s:
- 自身の scheme を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
select(*components) -> [String]
-
指定された components に対応する構成要素を文字列の配列として返します。
- [PARAM] components:
- 構成要素名をシンボルで指定します。
例:
require 'uri' uri = URI.parse('http://myuser:mypass@my.example.com/test.rbx') p uri.select(:userinfo, :host, :path) # => ["myuser:mypass", "my.example.com", "/test.rbx"]
to_s -> String
-
自身が表す URI を文字列として返します。
例:
p URI.parse('http://example.com/').to_s #=> "http://example.com/"
user -> String | nil
-
自身の userinfo を文字列で返します。
userinfo が「username:password」の形式である場合は、username 部を返します。 設定されていない場合は nil を返します。
user=(s)
-
自身の user を設定します。
- [PARAM] s:
- 自身の user を表す文字列を指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- user と registry を同時に設定した場合に発生します。
userinfo -> String | nil
-
自身の userinfo を "username:password" という形式の文字列で返します。 設定されていない場合は nil を返します。
userinfo=(s)
-
自身の userinfo を設定します。
- [PARAM] s:
- 自身の userinfo を "username" か "username:password" という形式の文字列、あるいは [username, password] という形式の文字列の配列で指定します。
- [EXCEPTION] URI::InvalidComponentError:
- 不正な引数 s に対して発生します。
- [EXCEPTION] URI::InvalidURIError:
- userinfo と registry を同時に設定した場合に発生します。
例:
require 'uri' u = URI.parse('http://example.com/') u.userinfo = 'hoge-san:jfae82kj' p u.to_s #=> "http://hoge-san:jfae82kj@example.com/" u.userinfo = 'oreore' p u.to_s #=> "http://oreore:jfae82kj@example.com/" u.userinfo = ['you', 'akakfd'] p u.to_s #=> "http://you:akakfd@example.com/"
定数
UNSAFE -> Regexp
-
URIとして指定できない文字にマッチする正規表現
/[^-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]/n
です。