我想检查目标url访问后是否会重定向。我想我可以做这样的事情:
req = urllib2.Request(url=url, headers=headers)
resp = urllib2.urlopen(req, timeout=3)
code = resp.code
if code == '200': # valid
else: # not valid
但是它不起作用,因为即使 url 重定向,我仍然得到 200。任何人都可以帮我解决这个问题吗?
只是为了详细说明我的评论:
req = urllib2.Request(url=url, headers=headers)
resp = urllib2.urlopen(req, timeout=3)
redirected = resp.geturl() != url # redirected will be a boolean True/False
http
HEAD
请求怎么样?有使用 requests
库 的代码片段
import requests
r = requests.head(url)
redirected = r.headers['location'] != url # True / False
redirect_url = r.url # OR r.headers['location']