Net:Post类的HTTP超时

时间:2013-07-29 07:33:15

标签: ruby http

我正在尝试调试Web服务问题,并且遇到了Net:HTTP行为的一个有趣问题(毫无疑问,我无法理解应该如何使用Net :: HTTP库)。

如果我使用以下内容,我会收到服务器的回复

require 'net/http'

USER='me'
PASS='me'
uri=URI('https://web.server.net/GetXMLData/webviewctl.asmx')

res=Net::HTTP.post_form(uri, 'action' => 'GetMyAssets', 'User' => USER, 'Password' => PASS)

或者我可以使用类Net :: HTTP :: Post的实例化对象而不是类方法 - 所以最后一行变为:

req = Net::HTTP::Post.new(uri)
req.set_form_data('action' => 'GetMyAssets', 'User' => USER, 'Password' => PASS)

res = Net::HTTP.start(uri.hostname, uri.port) do |http|
   http.request(req)
end

然而,这会产生读取超时:/home/steve/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/net/protocol.rb:158:in 'rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)

有没有人对这可能是什么有任何想法?我在第二种方法中做错了什么。我更喜欢使用它,因为我可以更好地控制实际发送到服务器的内容。

提前致谢

史蒂夫

0 个答案:

没有答案