我正在使用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&发布请求。
答案 0 :(得分:2)
docs使用data
参数的字节(即'b'前缀)。
r = await aiohttp.post('http://httpbin.org/post', data=b'data')
此外,params
参数应该是dict或元组列表。