在Python中,你可以使用requests
库来发送HTTP请求并处理重定向。requests
库会自动处理重定向,但你可以通过检查响应对象来获取最终的重定向URL。
以下是一个简单的示例,展示了如何使用requests
库来查找重定向的URL:
import requests
# 发送GET请求
response = requests.get('http://example.com')
# 检查是否有重定向
if response.history:
# 打印所有的重定向历史
print("Request was redirected:")
for r in response.history:
print(f"From: {r.url} To: {r.headers['Location']}")
# 打印最终的重定向URL
print(f"Final URL: {response.url}")
else:
print("Request was not redirected")
在这个例子中,response.history
是一个包含所有重定向响应的列表。每个重定向响应都有一个headers['Location']
字段,指示下一个重定向的URL。如果没有重定向,response.history
将为空。
requests
库提供了简洁的API,使得发送HTTP请求和处理响应变得非常容易。requests
库会自动处理重定向,无需手动跟踪重定向链。requests
库支持各种HTTP方法(如GET、POST、PUT等)和自定义头信息。requests
库没有自动处理某些重定向?Location
头信息来实现。import requests
response = requests.get('http://example.com', allow_redirects=False)
if response.status_code in (301, 302, 303, 307, 308):
print(f"Redirect to: {response.headers['Location']}")
requests
库的自动重定向功能?allow_redirects=False
参数。response = requests.get('http://example.com', allow_redirects=False)
通过这些方法,你可以有效地处理和跟踪HTTP请求中的重定向。
领取专属 10元无门槛券
手把手带您无忧上云