如何使用grequests发出HTTP POST请求

2024-06-30 16:28:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试了以下方法:

import grequests

urls = ['http://localhost/test', 'http://localhost/test']

params = {'a':'b', 'c':'d'}
rs = (grequests.post(u, params) for u in urls)
grequests.map(rs)

但上面写着:

File "search.py", line 6, in <genexpr>
rs = (grequests.post(u, params) for u in urls)
TypeError: __init__() takes exactly 3 arguments (4 given)

我还需要将响应传递给回调进行处理。


Tags: 方法intestimportlocalhosthttpmapfor
1条回答
网友
1楼 · 发布于 2024-06-30 16:28:48

函数的作用是:只接受一个位置参数,即发送post请求的URL。其余的参数作为关键字参数。

所以您需要将grequests.post()调用为:

import grequests

urls = ['http://localhost/test', 'http://localhost/test']

params = {'a':'b', 'c':'d'}
rs = (grequests.post(u, data=params) for u in urls)
grequests.map(rs)

相关问题 更多 >