2011-10-26 65 views
1

我試圖驗證是否有與下面的代碼遠程網址:405不允許的方法上的Net :: HTTP請求[Ruby on Rails的]

endpoint_uri = URI.parse(@endpoint.url) 
endpoint_http = Net::HTTP.new(endpoint_uri.host, endpoint_uri.port) 
endpoint_request = Net::HTTP::Head.new(endpoint_uri.request_uri) 
endpoint_response = endpoint_http.request(endpoint_request) 

我仍然得到405不允許的方法。當我使用Get而不是Head時,Net::HTTP::Head.new我得到了200成功,但是在整個遠程文檔中響應的結果是響應時間更長(0.3s => 0.9s)。

任何想法爲什麼會發生這種情況? Thx

回答

3

您嘗試與之交互的網址不支持HEAD請求(這可能很奇怪,但仍可能是這種情況)。你的代碼適合我用少量的網址(google.com,stackoverflow.com等)

你試過一個curl請求來看看它返回什麼嗎? ?

curl -I http://www.the_website_you_want_to_test.com 
+0

像你說的,但看看它返回'捲曲-I HTTP它的怪異:不允許//www.kirupafx.com/WebService/TopMovies.asmx WSDL' ** 405 **方法。無論如何感謝命令'捲曲'和答案 –