3

我正在使用 aiohttp get 请求从另一个 Web api 下载一些内容,但我收到:

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)"

如何解决?

我尝试了两种方式:

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)

但我需要异步实现。

如果我可以使用import requests库而不是import aiohttp发出异步 http 请求,还建议我采取一些方法,因为在许多情况下,aiohttp 发布和获取请求不起作用,但对于 requests.get 和发布请求同样适用。

4

1 回答 1

2

文档使用字节(即“b”前缀)作为data参数。

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

此外,params参数应该是字典或元组列表。

于 2015-11-06T12:21:59.657 回答