如何向apply_async提供Python请求标头?

时间:2017-09-04 12:31:06

标签: python python-requests

我正在使用apply_async处理并行GET功能,如Python Requests: Don't wait for request to finish中所述。我的问题是我需要为每个GET请求提供标头,而我却无法弄清楚如何做到这一点。

我正在尝试这些方法:

items.append(pool.apply_async(requests.get, [url, "", {"header1":"value1", "header2":"value2"}]))

主题的许多变化没有成功。

我希望了解如何通过这种方式开展工作。

谢谢!

1 个答案:

答案 0 :(得分:1)

根据the requests docs,您需要将headers关键字参数中的标头传递给requests.get

根据the multiprocessing docsapply_async的论据是:

apply_async(func, args=(), kwds={}, callback=None)

在您的情况下会转换为:

pool.apply_async(requests.get, 
                 [url], 
                 dict(headers={"header1":"value1", "header2":"value2"}))