python - 如何使用 python requests.head 方法遵循 30x 重定向
问题描述
我正在使用 python 请求库向网站发送请求,我只对获取响应标头感兴趣。我遇到的问题是,如果我使用 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
因为 google.com 会将所有 http 请求重定向到 https,所以如果我向http://google.com发送请求,我会收到重定向到https://google.com的响应。
所以我的问题是,是否有办法(无需查看响应标头并手动跟随“位置”标头)让 requests.head() 方法跟随重定向?
我做了很多搜索,但没有找到真正相关的东西。
解决方案
这就是你需要的!检查参考
>>> import requests
>>> r = requests.head('http://github.com/', allow_redirects=True)
>>> r.history
>>> [<Response [301]>]
推荐阅读
- javascript - 如何在不使用 jquery 的情况下使用 javascript 从数组中动态添加数据?
- pyspark - 在 pyspark 中使用窗口函数时添加过滤器
- azure - 达到预测时发出预算警报
- swift - 如何在 XCUITest 中设置窗口大小?
- python - 命名使用 python 和 selenium 下载的 PDF
- kong - 为什么 kong 访问未配置的正则表达式路由?
- flutter - Flutter - 创建像 GMaps 应用程序这样可关闭的浮动小部件的最佳选择是什么
- java - Pub/Sub Spring 集成队列通道未定义轮询器
- c# - 创建一个委托,它返回枚举的底层 int,而不知道运行时的枚举类型
- python - 在 Tkinter 滑块中,您可以将范围从线性变为指数,以便在处理大数字时更轻松地选择数字?