python - grequests 响应的顺序是否与请求的顺序相同?

标签 python python-requests grequests

我正在使用 grequests 从使用相同 url 但不同参数的网站异步下载数据。

例如,

unsent_requests = []
for param in params: # assume params is a list containing different parameters or query strings
    unsent_requests.append(grequests.get(url = url, params = param))

responses = grequests.map(unsent)

我怎样才能知道来自 responses 的哪个响应属于来自 unsent_requests 的哪个请求?还是响应与未发送请求的顺序相同?

PS:response.url 没有提供任何线索,因为返回的是完全不同的 url。

最佳答案

响应与请求的顺序相同,如 usage example 中所示:

>>> reqs = [
...    grequests.get('http://httpbin.org/delay/1', timeout=0.001),
...    grequests.get('http://fakedomain/'),
...    grequests.get('http://httpbin.org/status/500')]
>>> grequests.map(reqs, exception_handler=exception_handler)
Request failed
Request failed
[None, None, <Response [500]>]

关于python - grequests 响应的顺序是否与请求的顺序相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37502384/

相关文章:

python - 防止在 python 异步 http 请求中下载响应主体

python - 如何使用 Python 每秒发送 1k POST http 请求和数据?

python - 在django中读取文件并写入数据库

python - 请求/异步: Is there a drawback for making pool_maxsize=1000 with a Python requests session?

python - 属性错误: 'NoneType' object has no attribute 'traverse'

python - 如何在 Flask 中通过 POST 请求发送图像

python - 请求是否依赖于 Selenium ?

python - 在单个请求中使用 grequests

python - 我如何找到字符串中多个子字符串的位置(Python 3.4.3 shell)

python - URL 中的 Django Rest 所需参数