Sam*_*est 4 python http python-requests
我正在使用 python requests 库向网站发送请求,我只对获取响应标头感兴趣。我遇到的问题是,如果我使用 requests.head() 方法,并且响应是 30x 重定向,则 requests.head() 方法将不会跟随重定向到最终网站。虽然使用 requests.get() 方法确实遵循重定向,但它比 requests.head() 慢得多。
这是一个例子:
>>> r = requests.head('http://google.com')
>>> r.status_code
301
>>> r = requests.get('http://google.com')
>>> r.status_code
200
Run Code Online (Sandbox Code Playgroud)
因为 google.com 会将所有 http 请求重定向到 https,所以如果我将请求发送到http://google.com ,我将得到重定向到https://google.com的响应。
所以我的问题是是否有一种方法(无需查看响应标头并手动遵循“位置”标头)让 requests.head() 方法遵循重定向?
我做了很多搜索,但没有找到真正相关的东西。
小智 6
这就是您所需要的!检查参考文献
>>> import requests
>>> r = requests.head('http://github.com/', allow_redirects=True)
>>> r.history
>>> [<Response [301]>]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
797 次 |
| 最近记录: |