如何使用Python检查url是否重定向到另一个url

问题描述 投票:0回答:2

我想检查目标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。任何人都可以帮我解决这个问题吗?

python urllib2 redirect
2个回答
5
投票

只是为了详细说明我的评论:

req = urllib2.Request(url=url, headers=headers)
resp = urllib2.urlopen(req, timeout=3)
redirected = resp.geturl() != url # redirected will be a boolean True/False

0
投票

http

HEAD
请求怎么样?有使用
requests

的代码片段
import requests
r = requests.head(url)
redirected = r.headers['location'] != url  # True / False
redirect_url = r.url  # OR r.headers['location']
© www.soinside.com 2019 - 2024. All rights reserved.