
python如何获取真实URL
用户关注问题
如何在Python中获取重定向后的最终URL?
在使用Python发送网络请求时,如何获取URL在经过重定向后的真实地址?
使用requests库获取重定向后的URL
可以使用Python的requests库发送请求,默认情况下它会自动处理重定向。通过访问响应对象的response.url属性可以获取重定向后的最终URL。例如:
import requests
response = requests.get('http://example.com')
print(response.url)
这个属性返回的是请求完成后实际访问的URL,也就是最终真实地址。
Python获取真实链接时如何处理短链接?
面对短链接或跳转链接,Python中有没有方便的方法获取对应的目标真实链接?
利用requests库自动解码短链接
requests库能够自动处理HTTP的301、302重定向,也就是常见的短链接跳转。发送请求后,可通过response.url属性获取真实链接,无需手动解析。例如:
import requests
response = requests.get('http://bit.ly/shortlink')
print(response.url)
这样能直接获得原始的真实URL。
Python如何判断URL是否已被重定向?
在请求网络资源时,怎样检测某个URL是否经过了跳转,获得最终真实的访问地址?
检查响应的重定向历史
requests库的response对象有一个history属性,是一个包含所有重定向响应的列表。如果该列表非空,说明发生了重定向。真实的URL可以通过response.url获取。示例代码:
import requests
response = requests.get('http://example.com')
if response.history:
print("发生了重定向,最终URL为:", response.url)
else:
print("没有重定向,URL为:", response.url)
这样方便判断并获取真实URL。