首页 > 其他分享 >requests--post中json中文编码问题

requests--post中json中文编码问题

时间:2023-08-02 09:59:54浏览次数:30  
标签:-- Content headers json post ascii requests

问题

requests post 提交 json 数据时,默认在库中 ensure_asciiTrue。会对中文进行 unicode 编码。

但是有的时候服务端并没有处理中文,没有进行解码,而我们又改不了服务端,就会出现问题!

解决

修改库的代码,添加上对应的 ensure_ascii 参数。不推荐,换个环境就用不了了。

推荐: 自己提交json,自己提交二进制数据,不让库来编码我们的数据。

因为不是用 json 关键字参数,不会自动在请求头中添加 Content-Type,所以我们必须手动在请求头中添加 "Content-Type": "application/json"。大致代码如下:

import json
import requests

headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
response = requests.post('https://httpbin.org/post', data=json.dumps({'id': 1, 'name': '杰克'}, ensure_ascii=False).encode("utf-8"), headers=headers)
print(response.text)

标签:--,Content,headers,json,post,ascii,requests
From: https://www.cnblogs.com/guowenrui/p/17599762.html

相关文章

  • 什么是 GNU操作系统
    GNU操作系统是一种自由和开源的操作系统,由RichardStallman在1983年发起并由自由软件基金会(FreeSoftwareFoundation,FSF)领导开发。GNU是"GNU'sNotUnix"(GNU不是Unix)的递归缩写,这意味着GNU是一个类Unix操作系统的自由替代品。传统的Unix操作系统是由贝尔实验室开发的,并在许多计......
  • 安卓项目编译RocketX集成流程
    依赖gradle插件//appmodule的build.gradle加入applyplugin:'com.rocketx'//注:保证写入依赖关系在最后一行 //在根目录的build.gradle加入buildscript{dependencies{classpath'io.github.trycatchx:rocketx:1.1.......
  • 京东又开源一个新框架,用起来真优雅!
    DripTable是京东零售推出的一款用于企业级中后台的动态列表解决方案,项目基于React和JSONSchema,旨在通过简单配置快速生成页面动态列表来降低列表开发难度、提高工作效率。DripTable目前包含以下子项目:drip-table、drip-table-generator。各个子项目具体介绍如下:drip-tab......
  • jmeter分布式运行
    在JMeter中,你可以使用远程测试来在多台机器上分布式地运行测试。这可以帮助你模拟更大规模的负载。以下是如何设置和运行远程测试的步骤:1.**设置JMeter的主机和从机**在主机和所有从机上安装JMeter。确保所有机器上的JMeter版本是相同的。2.**配置JMeter的主机**打开`jmeter......
  • SQL语句——“制杖”SQLServer
    时间函数:DATEPART([YEAR],date)//获取时间的年DATEPART([MONTH],date)//获取月CONVERT([TIME],date)//获取时间hh:mm:ssWHEN语句:CASEtableFieldWHENvalueTHENother_tableFieldELSEtableFieldEND//可接多个WH......
  • .net Nuget包管理
     两种包管理模式,一种是packages.config一种是PackageReference  packages.config程序包管理文件只存在于.NETFramework的项目中,比如下图,我创建了一个.NETFramework的项目: 在添加了NuGet程序包Newtonsoft.Json之后,会自动创建packages.config这个NuGet程序包 但在.NET......
  • neo4j环境搭建
    0x00  前言参考链接:https://blog.csdn.net/qq_45556665/article/details/127783666下载链接:https://neo4j.com/download-center/#community下载点: 0x01  安装解压到指定路径:G:\enviroment\neo4j (自定义看个人习惯)配环境变量:(注意:此处已经配好了java环境了,没有j......
  • ubuntu16.04编译安装nginx1.24.0
    环境:DistributorID: UbuntuDescription: Ubuntu16.04.7LTSRelease: 16.04Codename: xenial 安装包:pcre-8.45.tar.gznginx-1.24.0.tar.gz开始安装:安装pcretar-xzvfpcre-8.45.tar.gzcdpcre-8.45./configure--prefix=/usr/local/pcremake&&makeinstall......
  • react中简单使用echarts图表
    1:下载echarts-for-react插件2:组件内引入importReactEchatrsfrom'echarts-for-react'复制echarts官网图表的option例如:柱形图的option react组件内定义函数存放复制的option并返回importReactfrom'react';importReactEchatrsfrom'echarts-for-react'impor......
  • burpsuite抓包,响应报文乱码如何解决?
    1、响应报文中的中文信息乱码2、解决办法 3、设置成功后重新发起请求      翻译搜索复制......