【问题标题】:Net::HTTP get timeout in RubyNet::HTTP 在 Ruby 中获取超时
【发布时间】:2013-10-19 23:12:31
【问题描述】:

如何在 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)))

但还是不行。

【问题讨论】:

标签: ruby net-http


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    也许你可以使用 OpenURI:

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

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 2016-02-08
      • 2019-11-13
      • 2015-12-07
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 2018-12-20
      相关资源
      最近更新 更多