如何使用Ruby HTTP :: Net处理404错误?
我正在尝试解析网页,但有时会出现404错误。 这是我用来获取网页的代码:
result = Net::HTTP::get URI.parse(URI.escape(url))
如何测试result
是否为404错误代码?
像这样重写你的代码:
uri = URI.parse(url) result = Net::HTTP.start(uri.host, uri.port) { |http| http.get(uri.path) } puts result.code puts result.body
这将打印身体后面的状态代码。
如您所知,无论是否存在错误,您的代码都将始终返回响应正文。 为了测试响应代码,请使用Theo的答案和以下if语句,例如:
if result.code.to_i < 400 puts "success" end
此示例将代码(字符串)转换为整数,并将重定向和各种200代码视为成功。
请参阅此处了解返回的各种代码: http : //en.wikipedia.org/wiki/List_of_HTTP_status_codes