我是Python新手,我想了解Http请求是同步还是异步?我需要实现回调吗?
我正在使用urllib2
模块,下面是语法:
content = urllib2.urlopen(urlnew).read()
在我的服务器上有超过30,000条记录,每条记录都会有一个http呼叫,并且会收到收到的回复。
任何帮助表示感谢。
答案 0 :(得分:6)
与大多数Python内容一样,除非明确提及,urllib2
是同步的。因此执行将阻止直到服务器响应。
因此,如果您要发出30,000个请求,则必须在另一个请求之后执行一个请求。另一种方法是在多个进程中启动请求(使用multiprocessing
)来并行化。
但更好的选择,特别是因为你似乎控制着服务器,就是让它提供某种批量请求,允许你查询多个(或所有)记录一次。