我正在尝试使用以下代码验证是否存在远程网址:
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
答案 0 :(得分:3)
您尝试与之交互的@endpoint
网址可能不支持HEAD请求(这可能非常奇怪,但情况可能仍然如此)。使用少量网址(google.com,stackoverflow.com等),您的代码可以正常使用。
您是否尝试过卷曲请求以查看它返回的内容?
curl -I http://www.the_website_you_want_to_test.com