解决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 实现归并排序算法
Jun 05 Python
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
python使用turtle库绘制树
Jun 25 Python
详解python运行三种方式
May 13 Python
python 弹窗提示警告框MessageBox的实例
Jun 18 Python
Laravel框架表单验证格式化输出的方法
Sep 25 Python
Python3 字典dictionary入门基础附实例
Feb 10 Python
python自定义函数def的应用详解
Jun 03 Python
keras 多gpu并行运行案例
Jun 10 Python
python 实现汉诺塔游戏
Nov 28 Python
selenium判断元素是否存在的两种方法小结
Dec 07 Python
Django解决frame拒绝问题的方法
Dec 18 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
Javascript 二维数组
2009/11/26 Javascript
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
Angular实现购物车计算示例代码
2017/02/21 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
在Django的视图中使用数据库查询的方法
2015/07/16 Python
python ansible服务及剧本编写
2017/12/29 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Django开发中的日志输出的方法
2018/07/02 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
Python Selenium截图功能实现代码
2020/04/26 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
python如何实现DES加密
2020/09/21 Python
日语专业毕业生自荐信
2013/11/11 职场文书
环境工程专业个人求职信
2013/12/05 职场文书
医药销售求职信范文
2014/02/01 职场文书
工程质量承诺书
2014/03/27 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
社区护士演讲稿
2014/08/27 职场文书
高一语文教学反思
2016/02/16 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python