块网多长时间:http

时间:2014-01-20 11:20:43

标签: ruby timeout

Net:http可以阻止我的申请多长时间?

url = "http://feeds.streams.xenim.de/live/binaergewitter/json/"
respons = Net::HTTP.get_response(URI.parse(url))

我发现我可以设置:

http.open_timeout(等待连接打开的秒数。)default:nil

http.read_timeout(等待一个块被读取的秒数(通过一次read(2)调用)。)默认值:60秒

这是否真的意味着它会永远等待并尝试阅读60秒?

如果我想要在5秒后达到超时,我应该更好地使用:

open('http://stackoverflow.com', 'r', :read_timeout=>5).read

1 个答案:

答案 0 :(得分:0)

read_timeout 60意味着您将等待最多。在服务器超时之前响应60秒。

要指定超时5秒,请执行:

conn = Net::HTTP.new('feeds.streams.xenim.de')
conn.read_timeout = 5
conn.get '/live/binaergewitter/json/'

open_timeout指定等待连接打开的秒数(即TCP握手)。