python - 在 chrome 上获取请求的正文并将其用于 postman 请求

标签 python google-chrome postman

我正在尝试获取源自 python 脚本的请求的 JSON 回复:

import webbrowser
webbrowser.open(url, new=0, autoraise=True)

...并将其作为 Postman 请求中的正文发送到不同的 API。

脚本有多次迭代。我可以用它在 Chrome 中打开 50 个选项卡,但现在如何自动将复制粘贴正文过程自动化到 Postman。

最佳答案

实际上没有一种受支持的方式从不同的进程与 Postman 应用程序进行通信以运行请求(例如,参见 https://github.com/postmanlabs/postman-app-support/issues/86 ),它超出了该工具的范围。

如果我很好地理解了问题的要点;基本上,您想要实现的目标是连接几个网络请求,重用它们之间的数据。在我看来,您可以采取以下几种方法:

在您的 python 代码上执行这两个请求:

您不需要打开浏览器来发送 HTTP 请求;相反,只需使用一个库 - 例如 urllibrequests - 做这项工作。这是一个例子:

import req
# First request is a GET to "url"
r1 = requests.get(url)
# POST the contents of r1's reply to a different endpoint:
r2 = requests.post("http://url.tld/endpoint", data=r1.json())

从那里您可以继续查询脚本中的r2以查找详细信息或操作数据。

创建 2 个不同的 Postman 请求并按顺序运行它们

同样,您可以在 postman 中创建这两个请求,使用 test选项卡提取响应正文,将其保存为环境变量,然后在下一个请求中重用它。

var body = pm.response.json();
pm.environment.set("body", body);

您可以访问 env.var。带有 Handlebars 符号 - 即 {{body}}

请注意,如果您出于任何额外原因想要从浏览器发出请求(例如 Cookie),您可以从 Network tab on the Chrome devtools 手动将其导出为 cURL。和 import it back to postman或使用 Postman interceptor 捕获浏览器的事件。这将保留 header /任何附加数据,以便将来能够重用它。

关于python - 在 chrome 上获取请求的正文并将其用于 postman 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47026241/

相关文章:

python - 如何在Python中的一个客户端上创建多服务器套接字?

python - df.columns 和 df2.columns 是同一个对象吗?

javascript - Chrome v71 anchor 标签范围链引用内部 img 标签的范围

google-chrome - ADFS 身份验证 - IE8 有效,Chrome 失败

python3 http.server 响应无效(Postman 和其他工具)

node.js - NodeJS 非阻塞 I/O 本质

python - 自定义异常默认日志记录

python - 在pyqt的for循环中连接多个信号/槽

android - 在桌面上更新到 Chrome 39 后,在 Android 上调试 Chrome 停止工作

postman - 如何使用 IBM Cloudant 和 Postman 获取数据的某一特定字段?