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

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

我正在使用 aiohttp get 请求从另一个网站下载一些内容 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 post 和获取请求不起作用但同样适用于 requests.get 和 post 请求。

docs 使用字节(即 'b' 前缀)作为 data 参数。

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

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