Python asyncio aiohttp请求数据编码
Python asyncio aiohttp request data encoding
我正在使用 python 的 aiohttp 基本请求模块来发出请求。我的请求是 base64
编码的字符串,请求正文如下所示:
body = {'request': 'eyJhYmMiOiJ4eXoifQ=='}
发送请求的代码如下:
response = yield from request(method='POST', url=url, allow_redirects=False, headers=headers, data=body)
这里的问题是,这是在另一端收到的:
{'request': 'eyJhYmMiOiJ4eXoifQ%3D%3D'}
我认为这是我的请求正文的 url-encoded
版本。
如何避免这种情况并按原样发送请求?
使用json
参数。来自 documentation 的示例:
async with aiohttp.ClientSession() as session:
async with session.post(url, json={'test': 'object'})
如果您要发送
,请从 header 中删除内容类型
我正在使用 python 的 aiohttp 基本请求模块来发出请求。我的请求是 base64
编码的字符串,请求正文如下所示:
body = {'request': 'eyJhYmMiOiJ4eXoifQ=='}
发送请求的代码如下:
response = yield from request(method='POST', url=url, allow_redirects=False, headers=headers, data=body)
这里的问题是,这是在另一端收到的:
{'request': 'eyJhYmMiOiJ4eXoifQ%3D%3D'}
我认为这是我的请求正文的 url-encoded
版本。
如何避免这种情况并按原样发送请求?
使用json
参数。来自 documentation 的示例:
async with aiohttp.ClientSession() as session:
async with session.post(url, json={'test': 'object'})
如果您要发送
,请从 header 中删除内容类型