import requests
for i in range(3):
g = requests.get('http://some-url/')
print "request done"
对于每个启动的请求,在执行其他请求之前,“它”是否等待响应到达(完全加载响应)?
我已经比较了使用浏览器的请求完成这些请求所需的时间,并且请求的加载时间非常快。我不确定这是因为我的浏览器执行javascript,加载图片等,还是因为请求的工作原理。
答案 0 :(得分:3)
是的,每个请求都是同步完成的,因此下一个请求只会在上一个请求完成后启动。引用release notes:
0.13.0(2012-05-29)
删除Requests.async以支持grequests
答案 1 :(得分:2)
是的,requests.get
是同步操作。它等待页面内容作为str被拉入python。
您看到的时差实际上是由于执行了javascipt以及在浏览器中获取其他文件。
在firefox webconsole中,您可以看到下载页面内容所需的时间。此时间应大致等于您查看请求的时间。