大多数HTTP请求默认是同步的吗?

0 投票
2 回答
791 浏览
提问于 2025-04-18 14:42

大多数HTTP请求的函数默认是同步的吗?

我之前是用JavaScript做AJAX,现在刚开始用Python处理HTTP请求。让我惊讶的是,Python中的HTTP请求函数默认是同步的,这样我就不用担心异步的情况了。例如,我在使用Requests这个HTTP库,虽然文档没有明确说明HTTP请求是同步还是异步,但通过我自己的测试,发现这些请求似乎是同步的。

所以说,大多数HTTP请求本质上是同步的吗?还是说大多数函数都是这样设计的?我第一次接触HTTP请求(用JS的AJAX)恰好是异步的?

2 个回答

1

requests 是一个完全同步的库,也就是说它会阻塞你的程序,直到请求完成。你需要的其实是 grequests

GRequests 让你可以结合 Requests 和 Gevent,轻松地进行异步 HTTP 请求。

你还可以看看:

2

这是语言本身的问题。在Python中,大多数接口(api)默认是同步的,也就是说它们会一个接一个地执行。而异步版本通常是一个“高级”话题。如果你使用的是Node.js,那么它们就是异步的;即使是使用JavaScript,ajax之所以是异步的,也是因为浏览器的特性决定的。

撰写回答