【发布时间】:2017-12-25 10:37:07
【问题描述】:
我正在尝试通过 urllib.request.urlopen 获取 ulr 状态,在某些情况下它返回 urllib.error.URLError: HTTP Error 403: Forbidden 但是我可以成功地从浏览器打开此 url。
是否可以使用urllib 或更好地使用其他库来解决此问题?
def urllib_status(url):
REQUEST_TIMEOUT = 10
if 'http' not in url:
url = 'http://' + url
try:
response = urllib.request.urlopen(url, timeout=REQUEST_TIMEOUT)
return response.status
except urllib.error.URLError as e:
print('url:'+url)
print('urllib.error.URLError:', e)
return -1
except ssl.SSLError as e:
print('url:'+url)
print('ssl.SSLError:', e)
return -1
except socket.error as e:
print('url:'+url)
print("socket.error: ", e)
return -1
【问题讨论】:
-
可以提供网址吗?没有它很难提供帮助。另请更新您的问题并删除您的答案。
标签: python-3.x url web urllib