如何读取 Python 请求的响应?

2023-11-24

我有两个 Python 脚本。一个使用的是urllib2库一个使用请求库.

我发现 Requests 更容易实现,但我找不到 urlib2 的等效项read()功能。例如:

...
response = url.urlopen(req)
print response.geturl()
print response.getcode()
data = response.read()
print data

一旦我建立了我的帖子网址,data = response.read()为我提供内容 - 我正在尝试连接到 vclouddirector api 实例,响应显示我有权访问的端点。但是,如果我按如下方式使用 Requests 库......

....

def post_call(username, org, password, key, secret):

    endpoint = '<URL ENDPOINT>'
    post_url = endpoint + 'sessions'
    get_url = endpoint + 'org'
    headers = {'Accept':'application/*+xml;version=5.1', \
               'Authorization':'Basic  '+ base64.b64encode(username + "@" + org + ":" + password), \
               'x-id-sec':base64.b64encode(key + ":" + secret)}
    print headers
    post_call = requests.post(post_url, data=None, headers = headers)
    print post_call, "POST call"
    print post_call.text, "TEXT"
    print post_call.content, "CONTENT"
    post_call.status_code, "STATUS CODE"

....

....the print post_call.text and print post_call.content即使请求后调用中的状态代码等于 200,也不会返回任何内容。

为什么我的请求响应没有返回任何文本或内容?


Requests 没有与 Urlib2 等效的read().

>>> import requests
>>> response = requests.get("http://www.google.com")
>>> print response.content
'<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage"><head>....'
>>> print response.content == response.text
True

您发出的 POST 请求似乎没有返回任何内容。 POST 请求经常出现这种情况。也许它设置了一个cookie?状态代码告诉您 POST 最终成功。

针对 Python 3 进行编辑:

Python 现在以不同的方式处理数据类型. response.content返回一个序列bytes(代表 ASCII 的整数)而response.text is a string(字符序列)。

Thus,

>>> print response.content == response.text
False

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

如何读取 Python 请求的响应? 的相关文章

随机推荐

  • 将多个 DB/mongoose 查询的结果渲染到 express.js 中的视图

    考虑到猫鼬 或sequelize或redis 查询的异步性质 当您在渲染视图之前需要进行多个查询时 您会怎么做 例如 您有一个user id在会话中 并且想要通过以下方式检索有关该特定用户的一些信息findOne 但您还想显示最近登录的用户
  • 如何使用 Selenium 测试模式对话框?

    我正在开始硒集成开发环境并尝试测试一个充满模式对话框的网络应用程序 window showModalDialog 记录测试似乎有效 除了弹出对话框时日志中没有任何内容 但它们无法正常播放 该脚本实际上打开了窗口 通过单击按钮触发 但随后只是
  • Eclipse 在每次保存时构建所有类

    我的工作区中有一个大型项目 每次我保存 jsp 或任何文件 java txt 属性等 时 构建都会运行 构建大约需要 30 到 45 秒 我恨它 我无法像这样高效工作 这种情况最近才开始发生 我一直启用自动构建 这不会导致此问题 办公室里的
  • 为什么当我在此处将 CREATE PROCEDURE 语句与 IF 语句一起使用时,它会失败?

    我试图删除存储过程 如果存在 然后通过以下方式创建它 IF OBJECT ID dbo myStoredProc IS not NULL DROP PROCEDURE dbo myStoredProc CREATE PROCEDURE db
  • 将 PHP cURL 请求从 SSLv3 更新为 TLS..?

    因为最近在 SSLv3 中发现的漏洞 许多网络服务提供商 即 PayPal Facebook Google 正在禁用该功能 并希望我们改用 TLS 我在弄清楚如何执行此操作时遇到了一些麻烦 我目前正在使用以下函数来处理我的 cURL 请求
  • 添加事件监听器到事件监听器添加的表单元素

    我正在构建一个 Symfony 应用程序 并使用表单事件和一些 jquery ajax 来完成整个 状态 地点 的事情 不过 我有一个小问题 我使用的格式是省 gt 城市 gt 郊区 现在 据我所知 我的代码很好 但是当执行到达我向 城市
  • 使用 twig 和 Slim 框架上传文件(版本 2)- PHP

    我正在使用 UserFrosting 一个用户管理系统 但在通过表单发布上传文件时遇到一些问题 这就是我尝试过的 这就是我的树枝文件的样子
  • 如何并行等待多个阻塞队列?

    我有两个独立的阻塞队列 客户端通常使用第一个或第二个阻塞队列来检索要处理的元素 在某些情况下 客户端对两个阻塞队列中的元素感兴趣 无论哪个队列首先提供数据 客户端如何并行等待两个队列 您可以尝试使用poll某种循环中的方法 仅在轮询另一个队
  • 可选实体框架复杂类型所需的属性

    我想定义 Required 实体框架中复杂类型的属性 例如 我有一个Customer具有可选实体Address 地址实体有一个必需的PostCode财产 ComplexType public class Address public str
  • 如何在java eclipse中将其他maven项目的依赖添加到我当前的maven项目中?

    我想在我的maven项目1中使用maven项目2类 这样我就可以将它用作父类 你能告诉我如何使用 eclipse 和 JAVA 来做到这一点吗 请写下逐步导航 因为我是 Maven 新手 提前致谢 我知道为时已晚但这可以帮助其他正在寻找同样
  • Excel VBA高效获取文件名函数

    我需要使用 Excel 2010 中的 VBA 从远程服务器上的文件夹中获取文件名集合 我有一个可以工作的函数 并且在大多数情况下它可以完成这项工作 但是远程服务器经常出现糟糕的情况 terrible网络性能问题 这意味着循环遍历 300
  • 异常处理指南 - Python 与 Java

    我是原始的 Java 开发人员 对我来说 Java 中的检查异常显然 很容易让我决定捕获它或将其扔给调用者稍后处理 然后是Python 没有受检查的异常 所以从概念上讲 没有什么会强迫你处理任何事情 根据我的经验 如果不检查文档 你甚至不知
  • 获取backstack中最新的fragment

    如何获取添加到 backstack 中的最新片段实例 如果我不知道片段标签和 id FragmentManager fragManager activity getSupportFragmentManager FragmentTransac
  • Android:如何制作 GroupBox 小部件?

    Android 似乎没有提供如此有用的小部件 但是 我的屏幕设计需要这样的视图 此外 交互设计要求根据其他数据显示和隐藏此类框 当然 我可以从 XML 布局中的单独元素 例如 从其上的形状和文本视图 构造这样的框 但管理它们的可见性会变得很
  • PhpMyAdmin 错误:令牌不匹配

    我最近在 xampp 上的 apache 上安装的本地安装中遇到错误 我正在运行 phpmyadmin v4 0 5 错误描述为错误 令牌不匹配 有其他人经历过这个并找到解决办法吗 您可以尝试以下方法 找到 XAMPP php ini 文件
  • 在 RMarkdown 的输出中显示代码块名称

    正如 RMarkdown 中所知 代码块可以这样命名 r chunkname plot x y 是否可以在输出文档中显示块名称 您可以使用knitr opts current get label example r cars library
  • 什么 Java 数据类型对应于 Oracle SQL 数据类型 NUMERIC?

    Oracle JDBC 驱动程序将什么 Java 数据类型分配给 Oracle SQL 数据类型NUMERIC 这会随着尺寸的变化而变化吗NUMERIC type 正如其他人已经说过的 驱动程序将所有内容映射到 BigDecimal 即使它
  • macOS 上的 Clang 无法从 ncurses 链接 lmenu

    我是使用 ncurses 库的新手 所以我一直在尝试重新创建此页面上的一些示例 http www tldp org HOWTO NCURSES Programming HOWTO index html 我已经获得了有关创建菜单的部分 特别是
  • 我想找到填充或搜索,猫鼬

    我的模型代码 var user mongoose Schema email password name company position phoneNumber signDate Date friends type mongoose Sch
  • 如何读取 Python 请求的响应?

    我有两个 Python 脚本 一个使用的是urllib2库一个使用请求库 我发现 Requests 更容易实现 但我找不到 urlib2 的等效项read 功能 例如 response url urlopen req print respo