requests httpx post中json中文编码问题

背景
requests、httpx post 提交 json 数据时,默认在库中 ensure_ascii
为 True
。会对中文进行 unicode 编码。
但是有的时候服务端并没有处理中文,没有进行解码,而我们又改不了服务端,就会出现问题!
解决
修改库的代码,添加上对应的
ensure_ascii
参数。不推荐,换个环境就用不了了。推荐,自己提交 json,自己提交二进制数据,不让库来编码我们的数据。
因为不是用
json
关键字参数,不会自动在请求头中添加Content-Type
,所以我们必须手动在请求头中添加"Content-Type": "application/json"
。大致代码如下:
1 | # request |
httpbin 的响应中,中文好像自动编码了,实际上提交到服务器的数据就没有对中文进行编码了。
- 标题: requests httpx post中json中文编码问题
- 作者: 二次蓝
- 创建于 : 2023-02-14 15:58:50
- 更新于 : 2023-03-17 13:57:00
- 链接: https://blog.ercilan.cn/2023/02/14/requests-httpx-post中json中文编码问题/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论