首页 > 其他 > 详细

ruby URI类

时间:2018-04-16 17:50:01      阅读:200      评论:0      收藏:0      [点我收藏+]

一. URI

require uri

uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413")
#=> #<URI::HTTP:0x00000000b14880
      URL: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"

二. 常用方法

  • encode_www_form(enum, enc=nil)

    URI.encode_www_form([["q", "ruby"], ["lang", "en"]])
    #=> "q=ruby&lang=en"
    URI.encode_www_form("q" => "ruby", "lang" => "en")
    #=> "q=ruby&lang=en"
    URI.encode_www_form("q" => ["ruby", "perl"], "lang" => "en")
    #=> "q=ruby&q=perl&lang=en"
    URI.encode_www_form([["q", "ruby"], ["q", "perl"], ["lang", "en"]])
    #=> "q=ruby&q=perl&lang=en"

     

  • decode_www_form(str, enc=Encoding::UTF_8, separator: ‘&‘, use__charset_: false, isindex: false)

    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"}

     

     

    相当于对请求字符串进行编解码

ruby URI类

原文:https://www.cnblogs.com/wf0117/p/8856429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!