2011-05-10 100 views
4

我正在嘗試使用剩餘客戶端gem發佈內容,但由於某些原因,我一直收到內部服務器錯誤。我用簡單的REST客戶端的瀏覽器,並得到了同樣的錯誤,除非我給下面的頭:Rest-Client Ruby Gem頭文件

Content-Type: application/x-www-form-urlencoded 

所以我想送與後請求頭,但由於某些原因,它仍然沒有工作。這是我試過的:

RestClient.post "server", :content_type=>"Content-Type: application/x-www-form-urlencoded",:name=> 'Test', :message_type=> 'Request', :version=> '2.0' 
RestClient.post "server", {:content_type=> "Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0' 
RestClient.post "server", {"Content-Type" =>"Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0' 
RestClient.post "server", :header => {:content_type=>: "Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0' 

有人能告訴我我做錯了什麼嗎?已經搜索了一些文件,指出如何設置標題,但似乎沒有任何工作。

回答

5

我想是這樣的,細的工作:

options[:multipart] = true 
# more options 

resource = RestClient::Resource.new uri, options[:username], options[:password] 
resource.post options do |response, request, result| 

.............. 

end 

貌似你用正常的參數做多必須傳遞。第二個參數將被簡單地添加到標題中。

希望這有助於

resource.post {params and request}, {custom headers here} do.... 
... 
+1

實施例:'RestClient.post的 「http:// {#} UDID:#{SECRET_KEY} @#{API_BASE_PATH} /跳閘」,{:從=>從,: to => to},{:user_agent => user_agent}' – samvermette 2013-05-04 07:27:17

+0

+1 Samvermette,這對我有用。 – abu 2013-08-20 20:54:56