解决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 16 Python
Python基于pygame实现的弹力球效果(附源码)
Nov 11 Python
浅谈Python 的枚举 Enum
Jun 12 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
Jun 13 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
windows环境中利用celery实现简单任务队列过程解析
Nov 29 Python
pytorch数据预处理错误的解决
Feb 20 Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 Python
Python基于xlrd模块处理合并单元格
Jul 28 Python
python批量修改文件名的示例
Sep 27 Python
如何利用Matlab制作一款真正的拼图小游戏
May 11 Python
Django与数据库交互的实现
Jun 03 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
8个必备的PHP功能开发
2015/10/02 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
jquery 根据name名获取元素的value值
2015/02/27 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
详解JS函数防抖
2020/06/05 Javascript
Python的Django框架中的表单处理示例
2015/07/17 Python
举例详解Python中yield生成器的用法
2015/08/05 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python实现各种插值法(数值分析)
2019/07/30 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
VScode连接远程服务器上的jupyter notebook的实现
2020/04/23 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
python自动生成sql语句的脚本
2021/02/24 Python
芬兰汽车配件商店:Autonvaraosat24
2017/01/30 全球购物
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
青年创业培训欢迎词
2014/01/08 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
小学班主任评语大全
2014/04/23 职场文书
大学新生入学教育方案
2014/05/16 职场文书
建筑结构施工求职信
2014/07/11 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
纪检监察立案决定书
2015/06/24 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
python之django路由和视图案例教程
2021/07/26 Python
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript