【发布时间】:2014-08-14 18:16:13
【问题描述】:
我使用的是 Ruby 1.9.3,需要获取一个 URL。我与Net::HTTP 合作,但是,如果站点关闭,Net::HTTP 最终会挂起。
在搜索互联网时,我看到很多人都面临着类似的问题,但都采用了老套的解决方案。但是,其中许多帖子已经很老了。
要求:
- 我更喜欢使用
Net::HTTP来安装新的 gem。 - 我需要正文和响应代码。 (例如 200)
- 我不想
require open-uri,因为这会导致全局变化并引发一些安全问题。 - 我需要在 X 秒内获取 URL,否则返回错误。
使用 Ruby 1.9.3,如何在设置超时时获取 URL?
为了澄清,我现有的代码如下所示:
Net::HTTP.get_response(URI.parse(url))
尝试添加:
Net::HTTP.open_timeout(1000)
结果:
NoMethodError: undefined method `open_timeout' for Net::HTTP:Class
【问题讨论】:
标签: ruby httprequest ruby-1.9.3 net-http