我通过其http端点(嵌入式jetty)调用java服务。该服务处理超时为5秒的异步http请求,并且当我使用url params或curl或py脚本从浏览器调用它时可靠地工作。
当我使用net / http或rest-client从ruby脚本调用它时,它会超出一半的时间?!任何想法可能导致这种情况以及可能的解决方案可能是什么(使用ruby)?
我正在使用ruby 1.9.3-p125并且ruby和python脚本都是< 10行(我通常会从更大的代码中调用,但是小版本也不起作用)。
净/ HTTP
paramStr = "rid=#{rid}&id=#{id}&json=#{json}"
uri = URI.parse(URI.escape(proxy_server_addr+"?"+paramStr))
response = Net::HTTP.get_response(uri)
其余的客户端
resource = RestClient::Resource.new('http://myserver.com:9001', :timeout => 10)
response = resource["/"].get :params => {:id => id, :rid => rid, :json => json}
卷曲
curl 'http://myserver:9001/?id=...'
吡啶
import urllib2
print urllib2.urlopen("http://myserver.com:9001?id=...").read()
答案 0 :(得分:0)
你过度复杂了。 urllib2的ruby等价物是open-uri:
require 'open-uri'
puts open("http://myserver.com:9001?id=...").read