我试图通过这样做来检查URL是否是有效的URL:
def check_urlstatus(url):
h = httplib2.Http()
try:
resp = h.request("http://" + url, 'HEAD')
if int(resp[0]['status']) < 400:
return 'ok'
else:
return 'bad'
except (httplib2.ServerNotFoundError, UnicodeError, httplib2.RelativeURIError):
return 'bad'
但有些网址即使有效也似乎无法通过。例如这一个:www.healthpolicyjrnl.com
我收到错误:
Redirected more times than rediection_limit allows.
我怎么能抓住这个错误?我会为此返回bad
。
第二个问题是:
我错过了except
中应该捕获的任何其他潜在错误吗?
答案 0 :(得分:1)
您可以在httplib2
source和自定义RedirectLimit
例外中看到如何引发此异常。所以抓住它:
from httplib2 import RedirectLimit
try:
...
except (RedirectLimit, httplib2.ServerNotFoundError, UnicodeError, httplib2.RelativeURIError):
return 'bad'