Ruby Open-URI库在404 HTTP错误代码中中止

时间:2012-11-09 10:13:30

标签: ruby open-uri net-http

我使用的是OpenURI库。

object = open("http://example.com")

如果http://example.com服务器代码响应等于200,我的程序就像我预期的那样。 但是如果http://example.com服务器响应代码等于400(或其他),则脚本将以OpenURI :: HTTPError中止:404 Not Found。 如果我使用'begin-rescue'构造并处理'HTTPError exception',我可以避免这种情况 这是正确的方法吗? 我应该使用Net / Http库而不是OpenURI来处理所有情况吗?

1 个答案:

答案 0 :(得分:6)

拯救OpenURI::HTTPError是完全合理的。请参阅此相关答案:https://stackoverflow.com/a/7495389/289274

但是如果您不想处理异常处理,那么您可以使用Net::HTTP来完成此操作: https://stackoverflow.com/a/2797443/289274