当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby URI模块用法及代码示例


本文简要介绍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

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 URI模块。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。