3

別の Web API から一部のコンテンツをダウンロードするために aiohttp get リクエストを使用していますが、受信しています:

exception = TypeError('not a valid non-string sequence or mapping object',)

以下は、私が送信しようとしているデータです。

data = "symbols=LGND-US&exprs=CS_EVENT_TYPE_CD_R(%27%27,%27now%27,%271D%27)"

それを解決する方法は?

私は2つの方法でそれを試しました:

r = yield from aiohttp.get(url, params=data) # and
r = yield from aiohttp.post(url, data=data)

同時に、次を使用してデータを取得できます。

r = requests.get(url, params=data) # and
r = requests.post(url, data=data)

しかし、非同期の実装が必要です。

また、非同期の http リクエストを作成するimport requests代わりにライブラリを使用できる場合は、いくつかの方法を提案してくださいimport aiohttp。多くの場合、aiohttp の投稿と取得のリクエストは機能しませんが、同じことが requests.get と投稿のリクエストで機能するためです。

4

1 に答える 1

2

ドキュメントでは、引数にバイト (つまり、'b' プレフィックス) を使用していdataます。

r = await aiohttp.post('http://httpbin.org/post', data=b'data')

また、params引数は dict またはタプルのリストである必要があります。

于 2015-11-06T12:21:59.657 に答える