在Python中,可以使用requests
库来发送HTTP请求并获取重定向后的最终目的地。以下是一个示例代码:
import requests
def get_final_destination(url):
response = requests.get(url, allow_redirects=False)
if response.status_code == 301 or response.status_code == 302:
redirect_url = response.headers['Location']
return get_final_destination(redirect_url)
else:
return response.url
# 示例用法
url = "http://example.com"
final_destination = get_final_destination(url)
print("最终目的地:", final_destination)
在上述代码中,我们定义了一个get_final_destination
函数,它接受一个URL作为输入,并返回重定向后的最终目的地URL。该函数使用requests.get
方法发送HTTP请求,并通过allow_redirects=False
参数禁止自动重定向。如果返回的状态码是301或302,表示发生了重定向,我们可以通过response.headers['Location']
获取重定向的目标URL,并递归调用get_final_destination
函数来获取最终目的地URL。如果没有发生重定向,直接返回response.url
作为最终目的地URL。
这种方法适用于大多数情况下的重定向,但并不适用于所有情况。如果重定向链非常复杂或存在其他特殊情况,可能需要使用更高级的技术来处理。
领取专属 10元无门槛券
手把手带您无忧上云