我正在尝试获取源自 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 请求;相反,只需使用一个库 - 例如 urllib
或requests
- 做这项工作。这是一个例子:
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/