本文简要介绍ruby语言中  URI模块  的用法。
 URI  是一个提供类来处理统一资源标识符 (RFC2396) 的模块。
特征
- 
处理 URI 的统一方式。 
- 
引入自定义 URI方案的灵活性。
- 
具有备用 URI::Parser(或只是不同的模式和正则表达式)的灵活性。
基本示例
require 'uri'
uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413")
#=> #<URI::HTTP http://foo.com/posts?id=30&limit=5#time=1305298413>
uri.scheme    #=> "http"
uri.host      #=> "foo.com"
uri.path      #=> "/posts"
uri.query     #=> "id=30&limit=5"
uri.fragment  #=> "time=1305298413"
uri.to_s      #=> "http://foo.com/posts?id=30&limit=5#time=1305298413"添加自定义 URI
module URI
  class RSYNC < Generic
    DEFAULT_PORT = 873
  end
  register_scheme 'RSYNC', RSYNC
end
#=> URI::RSYNC
URI.scheme_list
#=> {"FILE"=>URI::File, "FTP"=>URI::FTP, "HTTP"=>URI::HTTP,
#    "HTTPS"=>URI::HTTPS, "LDAP"=>URI::LDAP, "LDAPS"=>URI::LDAPS,
#    "MAILTO"=>URI::MailTo, "RSYNC"=>URI::RSYNC}
uri = URI("rsync://rsync.foo.com")
#=> #<URI::RSYNC rsync://rsync.foo.com>RFC 引用
查看 RFC 规范的好地方是 www.ietf.org/rfc.html 。
以下是所有相关 RFC 的列表:
 Class  树
- 
URI::Generic(在 uri/generic.rb 中)- 
URI::File- (在 uri/file.rb 中)
- 
URI::FTP-(在 uri/ftp.rb 中)
- 
URI::HTTP- (在 uri/http.rb 中)- 
URI::HTTPS- (在 uri/https.rb 中)
 
- 
- 
URI::LDAP-(在 uri/ldap.rb 中)- 
URI::LDAPS-(在 uri/ldaps.rb 中)
 
- 
- 
URI::MailTo- (在 uri/mailto.rb 中)
 
- 
- 
URI::Parser- (在 uri/common.rb 中)
- 
URI::REGEXP- (在 uri/common.rb 中)- 
URI::REGEXP::PATTERN -(在 uri/common.rb 中) 
 
- 
- 
URI::Util -(在 uri/common.rb 中) 
- 
URI::Error- (在 uri/common.rb 中)- 
URI::InvalidURIError- (在 uri/common.rb 中)
- 
URI::InvalidComponentError- (在 uri/common.rb 中)
- 
URI::BadURIError- (在 uri/common.rb 中)
 
- 
相关用法
- Ruby URI.parse用法及代码示例
- Ruby URI.join用法及代码示例
- Ruby URI.decode_www_form用法及代码示例
- Ruby URI.extract用法及代码示例
- Ruby URI.regexp用法及代码示例
- Ruby URI.encode_www_form用法及代码示例
- Ruby URI.split用法及代码示例
- Ruby UndefinedConversionError.source_encoding用法及代码示例
- Ruby UnboundMethod.original_name用法及代码示例
- Ruby UID.change_privilege用法及代码示例
- Ruby Util.unescape用法及代码示例
- Ruby Util.url_encode用法及代码示例
- Ruby UNIXSocket.new用法及代码示例
- Ruby UNIXSocket.addr用法及代码示例
- Ruby UnboundMethod.bind用法及代码示例
- Ruby UNIXServer.accept用法及代码示例
- Ruby UNIXSocket.recv_io用法及代码示例
- Ruby UID.euid用法及代码示例
- Ruby UncaughtThrowError类用法及代码示例
- Ruby Util.pretty用法及代码示例
- Ruby UID.uid用法及代码示例
- Ruby UnwindDetails.all_requirements用法及代码示例
- Ruby UnboundMethod类用法及代码示例
- Ruby UnwindDetails.reversed_requirement_tree_index用法及代码示例
- Ruby UnboundMethod.parameters用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 URI模块。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
