Ruby开放URI库在404 HTTP错误代码中中止
我使用OpenURI库Ruby开放URI库在404 HTTP错误代码中中止,ruby,open-uri,net-http,Ruby,Open Uri,Net Http,我使用OpenURI库 object = open("http://example.com") 若服务器代码响应等于200,那个么我的程序将按预期运行。 但如果服务器响应代码等于400(或其他),则脚本将中止,并且未找到OpenURI::HTTPError:404。 如果我使用“begin rescue”构造并处理“HTTPError exception”,我可以避免这种情况。 这是正确的方法吗? 我应该使用Net/Http库而不是OpenURI来处理所有情况吗?拯救OpenURI::HTTP
object = open("http://example.com")
若服务器代码响应等于200,那个么我的程序将按预期运行。
但如果服务器响应代码等于400(或其他),则脚本将中止,并且未找到OpenURI::HTTPError:404。如果我使用“begin rescue”构造并处理“HTTPError exception”,我可以避免这种情况。
这是正确的方法吗?
我应该使用Net/Http库而不是OpenURI来处理所有情况吗?拯救
OpenURI::HTTPError
是完全合理的。请参阅以下相关答案:
但是,如果您不想处理异常处理,下面是如何使用Net::HTTP
:
遗憾的是,它看起来也像是
OpenURI::HTTPError
没有包含任何可能从请求返回的内容(比如服务器的解释,除了状态代码)。