Python asyncio aiohttp请求数据编码

pprl5pva  于 2023-05-16  发布在  Python
关注(0)|答案(3)|浏览(123)

我使用python的aiohtp基本请求模块来发出请求。我的请求是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版本。
如何避免这种情况并按原样发送请求?

u5rb5r59

u5rb5r591#

使用json参数。文档示例:

async with aiohttp.ClientSession() as session:
    async with session.post(url, json={'test': 'object'})
wdebmtf2

wdebmtf22#

删除内容类型从头如果你正在发送

but5z9lq

but5z9lq3#

其悲伤的@Svetlov答案未被选择。他是Aiohtp核心开发者

相关问题