当 API 调用在发送完整响应之前发送请等待响应时,使用 python 请求捕获响应

问题描述 投票:0回答:1

我有一个 API 调用,当通过浏览器发出请求时,它会发送以下响应,

{'Status': {'Code': 4, 'Message': 'Please wait'}}

几秒钟后,响应变为

{'Status': {'Code': 0, 'Message': 'The request is successful', 'TransactionId': 456719}}

我可以从浏览器开发者工具的网络选项卡中看到这一点。

在Python中,如果我在两次执行请求的同时使用sleep,我会得到第二个响应。但是我可以在不执行两次 API 调用的情况下实现这一目标吗?

python python-3.x rest post python-requests
1个回答
0
投票

我想通了。对于将来遇到同样问题的人,在使用请求进行调用后,我在解析响应之前增加了 time.sleep 并且它起作用了。我最初将其设置为

time.sleep(5)

response = requests.request("POST", url, json=req_json)
time.sleep(10)
response = response.json()

我仍然需要等待10秒并且无法使等待时间动态化。因此,如果我在 6 秒内得到第二个响应,我仍然浪费 4 秒,但我可以忍受这一点。如果有人有更好的解决方案,请在这里发帖。

© www.soinside.com 2019 - 2024. All rights reserved.