gpt4 book ai didi

python-3.x - 如何在不等待响应的情况下使用 request.post() 方法

转载 作者:行者123 更新时间:2023-12-03 20:27:16 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Asynchronous Requests with Python requests

(14 个回答)


1年前关闭。




嗨,我是 Python 开发的新手。

我必须在很短的时间内(最好是秒)进行多次推送。

目前我正在使用请求包的 post 方法将数据发布到 API 中。
但是,默认情况下请求方法等待来自 API 的响应。

requests.post(url, json=data, headers=headers)

有没有其他方法可以将数据以异步方式发布到 API 中?

谢谢

最佳答案

如果您对来自服务器的响应不感兴趣(即发即忘),那么您可以使用 an async library为了这。但我必须警告你,你不能混契约(Contract)步和异步代码(实际上你可以但不值得处理)所以你的大部分代码必须改变。

另一种方法是使用线程,他们可以调用url在不影响其余代码的情况下单独等待响应。

这样的事情会有所帮助:

def request_task(url, json, headers):
requests.post(url, json=data, headers=headers)


def fire_and_forget(url, json, headers):
threading.Thread(target=request_task, args=(url, json, headers)).start()

...

fire_and_forget(url, json=data, headers=headers)

关于线程的简要信息

线程是独立的执行流程。多个线程并发运行,因此当一个线程启动时,它会与当前执行分开运行。启动一个线程后,您的程序只是继续执行下一条指令,而线程的指令也同时执行。欲了解更多信息,我推荐 realpython introduction to threads .

关于python-3.x - 如何在不等待响应的情况下使用 request.post() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58588131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com