Parametrized get request in Ruby?

后端 未结 7 1379
北恋
北恋 2020-12-04 17:54

How do I make an HTTP GET request with parameters in Ruby?

It\'s easy to do when you\'re POSTing:

  require \'net/http\'
           


        
7条回答
  •  自闭症患者
    2020-12-04 18:19

    Since version 1.9.2 (I think) you can actually pass the parameters as a hash to the URI::encode_www_form method like this:

    require 'uri'
    
    uri = URI.parse('http://www.example.com/search.cgi')
    params = { :q => "ruby", :max => "50" }
    
    # Add params to URI
    uri.query = URI.encode_www_form( params )
    

    and then fetch the result, depending on your preference

    require 'open-uri'
    
    puts uri.open.read
    

    or

    require 'net/http'
    
    puts Net::HTTP.get(uri)
    

提交回复
热议问题