相关疑难解决方法(0)

使用Open-URI获取XML以及远程URL无法返回/超时问题时的最佳实践?

只要没有远程错误,当前代码就可以工作:

def get_name_from_remote_url
      cstr = "http://someurl.com"
      getresult = open(cstr, "UserAgent" => "Ruby-OpenURI").read
      doc = Nokogiri::XML(getresult)
      my_data = doc.xpath("/session/name").text
      #  => 'Fred' or 'Sam' etc
      return my_data
end
Run Code Online (Sandbox Code Playgroud)

但是,如果远程URL超时或什么都不返回怎么办?例如,我如何检测到并返回nil?

而且,Open-URI是否提供了一种方法来定义放弃前等待的时间?当用户等待响应时调用此方法,那么我们如何在放弃之前设置最大timeoput时间并告诉用户"抱歉我们尝试访问的远程服务器现在不可用"?

ruby error-handling timeout open-uri

4
推荐指数
1
解决办法
5348
查看次数

标签 统计

error-handling ×1

open-uri ×1

ruby ×1

timeout ×1