is Python's Http request synchronous?
我是Python的新手,我想了解Http请求是同步还是异步? 我需要实现回调吗?
我使用urllib2模块,下面是语法:
content = urllib2.urlopen(urlnew).read()
在我的服务器上有超过30,000条记录,每条记录都会有一个http调用,并且会收到收到的响应。
任何帮助赞赏。
-
是的,它是同步的。
-
urllib2库是同步的。 是什么让你觉得它可能是异步的?
-
请参阅针对异步选项的Python请求的异步请求。
-
谢谢@Martijn我检查了文档,找不到与其行为相关的任何内容,你可以提供相同的链接吗?
-
在大多数环境中,同步行为是常态; 文档只会显式调用异步行为。 所以不,我无法将您链接到明确声明Python的urllib2库是同步的文档。 如果您真的想验证这一点,可以查看源代码。
-
同样相关:Python中的异步HTTP调用
像大多数Python的东西一样,除非明确提到,否则urllib2是同步的。 因此执行将阻塞,直到服务器响应。
因此,如果您要发出30,000个请求,则必须在另一个请求之后执行一个请求。 另一种方法是在多个进程中启动请求(使用multiprocessing)来并行化它。
但是更好的选择,特别是因为你似乎控制着服务器,就是让它提供某种批量请求,允许你一次查询多个(或所有)记录。