POST 请求在 Postman 中有效,但在 Python 请求中无效(带有机器人检测的 200 响应)

2024-05-10

我有一个 POST 请求,可以与 Postman 和 cURL 完美配合(它返回 JSON blob 数据)。然而,当我使用 Python 的 Requests 库执行完全相同的请求时,我得到了 200 成功响应,但我得到的不是 JSON blob,而是:

<html>
<head>
<META NAME="robots" CONTENT="noindex,nofollow">
<script src="/_Incapsula_Resource?SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3">
</script>
<body>
</body></html>

我已经使用 HTTP 请求箱来验证来自 Postman/cURL 的请求是一模一样就像来自 Python Requests 的那个一样。

这是我在 cURL 中的 Postman 请求:

curl -X POST \
  https:/someurl/bla/bla \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 2488e914-531e-4ac7-ae8d-8490b2242396' \
  -H 'Referer: https://www.host.com/bla/bla/' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:65.0) Gecko/20100101 Firefox/65.0' \
  -H 'cache-control: no-cache' \
  -d '{"json1":"blabla","etc":"etc"}'

...这是我的 Python 代码:

payload = {
      "json1": "blabla",
      "etc": "etc",
    }

    headers = {
        'Host': 'www.host.com',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36',
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Accept-Language': 'en-US,en;q=0.5',
        'Accept-Encoding': 'gzip, deflate, br',
        'Referer': 'https://www.host.com/bla/bla/', 
        'Content-Type':'application/json',
        'X-Requested-With': 'XMLHttpRequest',
        'Connection': 'keep-alive',
        'Origin': 'https://www.host.com',
    }

    s = requests.Session()
    response_raw = s.post(url, json=payload, headers=headers)
    print(response_raw)
    print(response_raw.text)

我已验证有效负载和标头正确且有效。任何帮助将非常感激;谢谢!


您收到 200 成功响应,但响应中没有 JSON 数据。
这意味着这只是一个响应对象。它仅包含响应代码
要从响应中提取 blob 信息,请将响应对象转换为 json
simply json_resp = response_raw.json()
This json_resp包含您的实际回复详细信息。

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

POST 请求在 Postman 中有效,但在 Python 请求中无效(带有机器人检测的 200 响应) 的相关文章

  • 邮递员:是否可以根据先决条件脚本中检测到的条件来停止执行邮递员调用?

    我在第一次调用中使用预请求脚本来动态生成整个脚本的基本环境变量 我还希望用户在通过集合运行器运行时能够收到这些失败的通知 而无需查找控制台 是否可以在测试或其他替代方案中生成信息 以便在收集运行程序结果中明确显示失败 例如如果环境中未提供
  • Facebook - Curl 错误 SSL_CACERT SSL 证书

    我正进入 状态 Curl 错误 SSL CACERT SSL 证书问题 无法获取本地颁发者证书 当要求 Facebook刮我的页面 https developers facebook com tools debug sharing 通过 h
  • php-curl 不支持 url 中的 utf-8

    我正在尝试将 http 请求从我的服务器发送到 php 中的另一台服务器 例如 我发送请求的 URL 包含一些 utf8 字符http www aparat com etc api videoBySearch text http www a
  • CasperJS:如何单击所有选定的按钮?

    我正在尝试使用 CasperJS 作为网络抓取工具 并且有一个带有按钮的页面 单击该按钮将加载数据 因此 我想先单击所有这些按钮 然后等待 然后再实际进行查询以获取所有必要的数据 问题是对于 Casper casper thenClick
  • 如何使用Python获取网站的协议(http或https)

    我只是在想我们如何模仿浏览器 比如 Chrome 如何使用 Python 检测网站的协议 例如我们在地址栏输入 stackoverflow com 然后回车 浏览器会自动检测到并将url更改为 https stackoverflow com
  • 通过执行本机操作系统的命令(例如curl)通过MySQL调用HTTP GET请求

    我使用的是在 32 位 Microsoft Windows XP 专业版 2002 Service Pack 3 上运行的 MySQL 5 6 11 我安装了MySQLsys exec https github com mysqludf l
  • 将cURL请求转换为node.js的请求

    这是我的有效 cURL 命令 curl https www example com api data jsonrpc 2 0 method getObjectsByFilter id 3 这是我在 Node js 中尝试过的 var url
  • 从 nowgoal 获取表值出现索引错误

    我对刮擦很陌生 我收到的链接来自nowgoal http www nowgoal3 com 下面是我如何开始导航到上面的页面 我不希望获得所有比赛的链接 但我会有一个输入文本文件 它是附在这里 https drive google com
  • 带有 jsessionid 的 R 网络抓取工具

    我正在 R 中测试一些网页抓取脚本 我已经阅读了很多教程 文档并尝试了不同的方法 但到目前为止还没有成功 我试图抓取的网址是this one http www dataescolabrasil inep gov br dataEscolaB
  • 文件再次获取内容不起作用替代方案

    我尝试了curl 因为file get contents在php中不起作用 任何人都可以给我解决方案 所以使用curl解决它 这里是代码 userData json decode file get contents https graph
  • Python3.5 BeautifulSoup4从div中的'p'获取文本

    我试图从 div 类 caselawcontent searchable content 中提取所有文本 此代码仅打印 HTML 不打印网页中的文本 我缺少什么来获取文本 以下链接位于 finteredcasesdoc text 文件中 h
  • VBA - HTML 抓取问题

    我正在尝试从网站上抓取拍卖数据https www rbauction com heavy equipment auctions https www rbauction com heavy equipment auctions 我当前的尝试是
  • 使用curl登录并获取会话

    你好 我需要以某种方式获得最高区域的兴趣和随着时间的推移的兴趣 或更好 所以我发现我们必须登录才能导出数据有人可以给我一个使用我们的谷歌用户名和密码执行此操作的示例吗 也许使用curl来导出数据 或者是其他东西 感谢您的关注 亚当 拉马丹
  • Jsoup - 获取仅包含指定属性及其值的 HTML 标记

    我想用jsoup从页面中提取具有以下内容的元素only一些特定的属性和值 我已经经历过以下提到的方法 但没有一个很好地解决了我的目的 Jsoup s getElementsByAttributesMatching 选择查询的这种格式 doc
  • 无法使用 BeautifulSoup4 (Python 3) 抓取特定表

    我想从 Ligue 1 足球网站上抓取一张表格 具体来说 该表包含有关卡片和裁判的信息 http www ligue1 com LFPStats stats arbitre competition D1 http www ligue1 co
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • Python请求模块在获取请求期间不返回整页

    当我向此网址发出 get 请求时 http www waterwaysguide org au waterwaysguide access point 4980 partial http www waterwaysguide org au
  • Python 请求包含有值的参数和没有值的参数

    我正在为 API 编写一个 Python 包装器 该 API 支持具有值的查询参数 例如param1如下 和查询参数do not有价值观 例如param2如下 即 https example com service param1 value

随机推荐