2016-09-14 52 views
0

我正在使用Rails 4.2.7。如何將標題添加到Net :: HTTP :: Post請求中?我試圖如何在Ruby中將標題添加到Net :: Http :: Post請求中?

params = {"SubmitButton" => "View"} 
    … 
     headers = {"Referer" => url} 
     req = Net::HTTP::Post.new(uri, params.to_query, headers) 

然而,當我運行此代碼,我得到的錯誤

Error during processing: wrong number of arguments (given 3, expected 1..2) 
/Users/davea/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http/request.rb:14:in `initialize' 
/Users/davea/Documents/workspace/myproject/app/services/marathon_guide_race_finder_service.rb:97:in `new' 
/Users/davea/Documents/workspace/myproject/app/services/marathon_guide_race_finder_service.rb:97:in `block in process_race_link' 
/Users/davea/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/xml/node_set.rb:187:in `block in each' 
/Users/davea/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/xml/node_set.rb:186:in `upto' 
/Users/davea/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/xml/node_set.rb:186:in `each' 

注意我想在發送前的頭添加到該對象。

回答

1

您可以使用實例,以與頭

headers = {"Referer" => url} 
http  = Net::HTTP.new(uri.host) 
response = http.post(uri.path, params.to_query, headers) 
+0

謝謝你的帖子,但我想在發送前的頭添加到該對象。我如何將頭添加到POST請求對象本身或者是不可能的? – Dave

+0

直到上面代碼中的'http.post'調用纔會正確連接您的標頭,纔會發出請求。 –