解决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操作数据库之sqlite3打开数据库、删除、修改示例
Mar 13 Python
最基础的Python的socket编程入门教程
Apr 23 Python
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
Python批量重命名同一文件夹下文件的方法
May 25 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
Python编程之字符串模板(Template)用法实例分析
Jul 22 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
django数据模型on_delete, db_constraint的使用详解
Dec 24 Python
django正续或者倒序查库实例
May 19 Python
Django全局启用登陆验证login_required的方法
Jun 02 Python
Numpy数组的广播机制的实现
Nov 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
实用函数9
2007/11/08 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
js常用排序实现代码
2010/12/28 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
使用Python生成XML的方法实例
2017/03/21 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
python实现linux下抓包并存库功能
2018/07/18 Python
python 重命名轴索引的方法
2018/11/10 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
python多进程并发demo实例解析
2019/12/13 Python
Python函数基本使用原理详解
2020/03/19 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
小学生田径运动会广播稿
2014/09/11 职场文书
审美与表现自我评价
2015/03/09 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Java设计模式之享元模式示例详解
2022/03/03 Java/Android