2015-06-11 55 views
1

我在Ruby中執行GET請求,不知道爲什麼我有時會得到以下堆棧跟蹤。RestClient :: MethodNotAllowed:405方法不允許GET響應

RestClient::MethodNotAllowed: 405 Method Not Allowed 
[GEM_ROOT]/gems/rest-client-1.6.8/lib/restclient/abstract_response.rb:48:in return! 
[GEM_ROOT]/gems/rest-client-1.6.8/lib/restclient/request.rb:269:in process_result 
[GEM_ROOT]/gems/rest-client-1.6.8/lib/restclient/request.rb:212:in block in transmit 
/usr/lib/ruby/2.0.0/net/http.rb:852:in start 
[GEM_ROOT]/gems/rest-client-1.6.8/lib/restclient/request.rb:206:in transmit 
[GEM_ROOT]/gems/rest-client-1.6.8/lib/restclient/request.rb:68:in execute 
[GEM_ROOT]/gems/rest-client-1.6.8/lib/restclient/request.rb:35:in execute 
[GEM_ROOT]/gems/rest-client-1.6.8/lib/restclient.rb:70:in get 

因爲堆棧跟蹤不說哪一種方法是不允許這是特別令人困惑。什麼可能是這個錯誤的原因?

+0

嗨我也面臨同樣的問題。任何幫助,請 – pramod

回答

4

您可以嘗試rescue這個例外。這樣您就可以訪問響應的http_body。如果你幸運的話,這可能會讓你瞭解哪裏出了問題。

begin 
    RestClient.get 'http://example.com/resource', {:params => {:id => 50, 'foo' => 'bar'}} 
rescue RestClient::Exception => e 
    puts e.http_body 
end 
+0

這真的幫助;) – Zeeshan