我正在使用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"}]))
主题的许多变化没有成功。
我希望了解如何通过这种方式开展工作。
谢谢!
答案 0 :(得分:1)
根据the requests docs,您需要将headers
关键字参数中的标头传递给requests.get
。
根据the multiprocessing docs,apply_async
的论据是:
apply_async(func, args=(), kwds={}, callback=None)
在您的情况下会转换为:
pool.apply_async(requests.get,
[url],
dict(headers={"header1":"value1", "header2":"value2"}))