python请求中的Http重定向代码3XX

2023-12-19

我正在尝试捕获重定向 url 的 http 状态代码 3XX/302。但我无法获取它,因为它给出了 200 状态代码。

这是代码:

import requests
r = requests.get('http://goo.gl/NZek5')
print r.status_code

我想这应该发出 301 或 302,因为它重定向到另一个页面。我尝试了几个重定向网址(例如http://fb.com http://fb.com)但它再次发出 200。应该怎样做才能正确捕获重定向代码?


requests处理重定向for you, see 重定向和历史记录 https://requests.readthedocs.io/en/latest/user/quickstart/#redirection-and-history.

Set allow_redirects=False如果你不想requests处理重定向,或者您可以检查包含在r.history list https://requests.readthedocs.io/en/latest/api/#requests.Response.history.

Demo:

>>> import requests
>>> url = 'https://httpbin.org/redirect-to'
>>> params = {"status_code": 301, "url": "https://stackoverflow.com/q/22150023"}
>>> r = requests.get(url, params=params)
>>> r.history
[<Response [301]>, <Response [302]>]
>>> r.history[0].status_code
301
>>> r.history[0].headers['Location']
'https://stackoverflow.com/q/22150023'
>>> r.url
'https://stackoverflow.com/questions/22150023/http-redirection-code-3xx-in-python-requests'
>>> r = requests.get(url, params=params, allow_redirects=False)
>>> r.status_code
301
>>> r.url
'https://httpbin.org/redirect-to?status_code=301&url=https%3A%2F%2Fstackoverflow.com%2Fq%2F22150023'

So if allow_redirects is True,已遵循重定向,返回的最终响应是遵循重定向后的最终页面。如果allow_redirects is False,返回第一个响应,即使它是重定向。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python请求中的Http重定向代码3XX 的相关文章

  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate

随机推荐

  • 使用顶点着色器旋转纹理

    我正在尝试旋转顶点着色器内的纹理 我有一个指向纹理的指针 出于我的目的 该指针逆时针旋转 90 度 我不想要在调用之前手动旋转纹理glTexImage2D 我可以用 version 120 only 这是我原来的顶点着色器 version
  • 更改 R/lattice 中与多个面板关联的条带的背景和文本

    以下是我正在处理的示例 require lattice data barley xyplot yield year site data barley 我想为不同的 sprips 设置不同的条带颜色 并且字体颜色也根据背景颜色进行不同的优化
  • 如何在 Android 应用程序中创建数据库?

    我正在尝试在我的 Android 应用程序中使用 SQLite 我创建了这样的辅助类 public class EventoSQLHelper Configura o da base nome e vers o private static
  • searchable_dropdown 不适用于类列表

    我使用 searchable dropdown 1 1 0 包实现了一个颤振下拉菜单 我用我的班级列表进行了测试 发现搜索文本字段框不适用于我的班级列表 我希望当我在列表中的字符串 整数中搜索值时 我的下拉搜索框能够正常工作 例如 我希望当
  • 未知的正则化器:tensorflowjs 中的 L2

    我已经使用 model 在 python 中训练了一个模型 reg 0 000001 model Sequential model add Dense 24 activation tanh name input dense input sh
  • SQL:给定行之前和之后的行数

    问题是我们要获取给定行 例如由主键标识 之前和之后的总行数 我尝试过在 T SQL MSSQL 2008 中执行以下操作 它给出了正确的结果 但我不知道这是否是最好的方法 WITH cte before AS SELECT ROW NUMB
  • 是否可以在 Spring 中以基于表单的身份验证发送更多数据?

    我对这个比较陌生Spring框架 http en wikipedia org wiki Spring Framework和春季安全 我使用了自定义身份验证方案 HTML
  • 将大型 3gp 文件转换为字节数组

    我正在尝试将大型 3gp 文件 gt 25mb 转换为字节数组 但它给出了内存不足异常 我能够将小于 25 mb 的 3gp 文件转换为字节数组 文件文件1 新文件 Environment getExternalStorageDirecto
  • 如何最大限度地提高 C# 中大数组上按元素运算的性能

    该操作是将数组的每个第 i 个元素 称为 A 与相同大小的矩阵 B 的第 i 个元素相乘 并用获得的值更新 A 的相同第 i 个元素 在算术公式中 A i A i B i 0 在多核环境中优化此操作的最佳方法是什么 这是我当前的代码 var
  • 提取 ARIMA 规范

    从 auto arima 打印拟合模型对象包括一行 例如 带有漂移的 ARIMA 2 1 0 这将是一个很好的项目 可以包含在说明拟合模型的 sweave 或其他 输出中 是否可以将该行提取为块 此时 我所做的最好的事情是从 arma 组件
  • 如何从asp.net中的url中删除页面名称?

    来自以下网址 http www mywebsite com default aspx 我想删除default aspx 这样网址将如下所示 http www mywebsite com 我需要一种快速而干净的方法来执行此操作 并且我只需要使
  • 在单独的构建过程中签入文件后,我可以绕过门控签入构建吗? 2010年TFS

    我为解决方案设置了 2 个构建定义 1 个是每晚触发的夜间构建 另一个是门控签入构建 当开发人员尝试将新更改签入源代码管理时将触发 每晚构建使用自定义模板 该模板使用稍微修改过的方法来增加程序集版本埃瓦尔德 霍夫曼法 http www ew
  • 一夜不活动后出现一般网络错误

    一段时间以来 我们的旗舰应用程序一直出现神秘错误 错误消息是通用的 DBNETLIB ConnectionWrite send 一般网络错误 检查您的网络文档 通过让应用程序在晚上打开并在早上恢复工作 可以可靠地重现这一点 由于它是后端服务
  • Rails 2.3 和 rspec-rails 兼容性

    什么版本的rspec railsgem 仍然与 Rails 2 3 分支兼容 特别是 2 3 14 我试过了2 1 0 但这也适用于 Rails gt 3 0 我应该注意的任何其他依赖项或版本限制吗 Thanks 版本 1 3 4 是 Ra
  • mysql + 导入列标题中有空格的文件 + 如何处理

    我有一个 csv 文件 我想将其导入到 mysql 中 我正在慢慢地做到这一点 我正在尝试使用加载数据文件 https stackoverflow com a 20895203 2392358但首先我必须创建表格 这就是我的问题所在 我尝试
  • Android:与 Android 设备进行 RS232 串行通信

    我有一个MR400s 出租车计价器 http www taxiworld co uk london taximeter rentals硬件 我想使用RS232电缆与这个出租车计价器进行通信 并且我已经在Windows中实现了这种连接和通信
  • 程序结束后出现分段错误

    我正在做一项家庭作业 而且我对 C 还比较陌生 我必须为整数数组创建一个初始值设定项 我的教授给我的声明是 typedef int set t Can t be altered void init set t thing int N Can
  • DNS-SD:使用“mdnsjava”的经验? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我现在正在实施 DNS DS 库 mdnsjava https code google com p mdnsjava 进入我的Andr
  • jquery创建二维数组

    编辑 看来我对我想要完成的事情有点困惑 对于那些花时间解释这一点的人 谢谢 我正在尝试在 Jquery Javascript 中创建一个二维数组 我已经进行了大量的搜索 测试和更多搜索 但我无法找到对我来说真正有意义的解决方案 这已经是漫长
  • python请求中的Http重定向代码3XX

    我正在尝试捕获重定向 url 的 http 状态代码 3XX 302 但我无法获取它 因为它给出了 200 状态代码 这是代码 import requests r requests get http goo gl NZek5 print r