解决Python发送Http请求时,中文乱码的问题


Posted in Python onApril 30, 2020

解决方法:

先encode再quote。

原理:

msg.encode('utf-8')是解决中文乱码问题。

quote():假如URL的 name 或者 value 值中有『&』、『%』或者『=』等符号,就会有问题。所以URL中的参数字符串也需要把『&=』等符号进行编码,quote()就是对参数字符串中的『&=%』等符号进行编码。

例子:

# -*- coding: UTF-8 -*-
# python2.7
from urllib import quote
import requests
 
def httpGet(sUrl):
 header = {}
 try:
  response=requests.get(sUrl, headers=header)
  sText = response.text
  return sText
 except BaseException:
  print BaseException
   
def demo(msg):
 sEncodeMsg = quote(msg.encode('utf-8'))
 url = 'http://www.youdao.com/w/eng/' + sEncodeMsg
 print httpGet (url)
 
demo(u'90%的数据')

补充知识:python 用Request payload 翻页获取不同的返回值

我就废话不多说啦,直接看代码吧!

headers={'Accept':'*/*',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Ajax-method': 'GetPageJYXTXXFB',
'Connection': 'keep-alive',
'Content-Length': '129',
'Content-Type': 'text/plain; charset=UTF-8',
'Cookie': 'ASP.NET_SessionId=vdl5ooxkjkazwszgvj5woewh',
'Host': 'ggzy.yibin.gov.cn',
'Origin': 'http://ggzy.yibin.gov.cn',
'Referer': 'http://ggzy.yibin.gov.cn/Jyweb/ZhaoBaoGongGaoList.aspx?Type=%e5%bb%ba%e8%ae%be%e5%b7%a5%e7%a8%8b&SubType=260',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36',
}      #模仿浏览器 
 payload=[i*15,15,"FBSJ DESC","XMMC","","XXLB ={0} AND XTType={1} AND ZBFS != 2","[{\"pvalue\":\"260\"},{\"pvalue\":\"1\"}]"] #Request payload里面的信息
 
 rsp=requests.post(url1,data=json.dumps(payload),headers = headers) #用Request payload里面的信息发送post请求
 data_a=rsp.content 

def parse_js(expr):
 obj = eval(expr, type('Dummy', (dict,), dict(__getitem__=lambda s, n: n))())
 return obj

list_a = parse_js(data_a)    # 把 json字典({KEY:'value'}) 转换为python的字典({'key':'value'})

以上这篇解决Python发送Http请求时,中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
几个提升Python运行效率的方法之间的对比
Apr 03 Python
python 实现tar文件压缩解压的实例详解
Aug 20 Python
python利用MethodType绑定方法到类示例代码
Aug 27 Python
python 文件转成16进制数组的实例
Jul 09 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
Python3.5以上版本lxml导入etree报错的解决方案
Jun 26 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 Python
Jupyter Notebook折叠输出的内容实例
Apr 22 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 Python
Pytorch高阶OP操作where,gather原理
Apr 30 #Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 #Python
Python闭包与装饰器原理及实例解析
Apr 30 #Python
python+requests接口压力测试500次,查看响应时间的实例
Apr 30 #Python
Pycharm连接远程服务器过程图解
Apr 30 #Python
python3发送request请求及查看返回结果实例
Apr 30 #Python
python获取响应某个字段值的3种实现方法
Apr 30 #Python
You might like
PHP之正则表达式捕获组与非捕获组(详解)
2015/07/29 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
JS回调函数基本定义与用法实例分析
2017/05/24 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
Python中endswith()函数的基本使用
2015/04/07 Python
Python素数检测的方法
2015/05/11 Python
八大排序算法的Python实现
2021/01/28 Python
Python类的继承用法示例
2019/01/31 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
pandas中的数据去重处理的实现方法
2020/02/10 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
高三自我鉴定范文
2013/10/19 职场文书
土木工程个人自荐信范文
2013/11/30 职场文书
书法培训心得体会
2014/01/05 职场文书
优秀小学生家长评语
2014/01/30 职场文书
优秀党员申报材料
2014/12/18 职场文书
小学教师岗位职责
2015/04/02 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers