Net :: HTTP在Ruby中获得超时

时间:2013-10-11 19:08:46

标签: ruby net-http

如何在net / http中设置更大的超时? 我正在做的是:

rta = JSON.parse(Net::HTTP.get(URI(url)))

我试过了:

uri = URI(url)
http = Net::HTTP.new(uri.host, uri.port)
http.open_timeout = 5* 60
http.read_timeout = 5* 60
rta = JSON.parse(Net::HTTP.get(URI(url)))

但它仍然不起作用。

2 个答案:

答案 0 :(得分:3)

看起来它可能无法正常工作,因为您正在对Class进行get调用而不是您创建的实例。尝试将最后一行更改为:

rta = JSON.parse(http.get(URI(url)))

答案 1 :(得分:2)

也许你可以使用OpenURI:

require 'open-uri'
open(url, :read_timeout => 5 * 60) do |file|
  rta = JSON.parse file
  # ...
end