13

私は次のことを試しました:

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)

また、処理のためにコールバックに応答を渡す必要があります。

4

1 に答える 1

33

grequests.post() 関数は、1 つの位置引数、つまり 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)
于 2014-01-12T19:08:44.560 に答える