2016-09-14 3 views
0

Я использую Rails 4.2.7. Как добавить заголовки в запрос Net :: HTTP :: Post? Я попыталсяКак добавить заголовки в Net :: Http :: Post request в Ruby?

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', который в приведенном выше коде будет правильно прикреплен к вашим заголовкам. –

Смежные вопросы