解决python3 requests headers参数不能有中文的问题

yipeiwu_com6年前Python基础

1 需求,heeaders 参数需要拼接中文参数param 解决如下

url = 'https://....search?keyword=' + param + '&templateId=&page=1&pageSize=10'
headers = {
 "Accept": "application/json, text/javascript, */*; q=0.01",
 "Accept-Encoding": "gzip, deflate, br",
 "Accept-Language": "zh-CN,zh;q=0.9",
 "Connection": "keep-alive",
 "Cookie": "Hm_lvt_0076fef7e919d8d7b24383dc8f1c852a=1522398473; Hm_lpvt_0076fef7e919d8d7b24383dc8f1c852a=1522398482",
 "Referer": "https://...../index.html?index=0&keyword=" + urllib.parse.quote(param),
 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36",
 "X-Requested-With": "XMLHttpRequest"
}
rsp = requests.get(url, headers=header 
from urllib import parse 
 
str1 = 'haha哈哈' 
str2 = parse.quote(str1)  #quote()将字符串进行编码 
print(str2)        #str2=haha%E5%93%88%E5%93%88 
str3 = parse.unquote(str2) #解码字符串 
print(str3)        #str3=haha哈哈 

以上这篇解决python3 requests headers参数不能有中文的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python探索之自定义实现线程池

为什么需要线程池呢?         设想一下,如果我们使用有任务就开启一个子线程处理,处理完成后,销毁子线程或等...

浅析Python多线程下的变量问题

在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 但是局部变量也有问题,就...

Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例

本文实例讲述了python找到最大或最小的N个元素实现方法。分享给大家供大家参考,具体如下: 问题:想在某个集合中找出最大或最小的N个元素 解决方案:heapq模块中的nlargest(...

Python入门篇之面向对象

面向对象设计与面向对象编程的关系   面向对象设计(OOD)不会特别要求面向对象编程语言。事实上,OOD 可以由纯结构化语言来实现,比如 C,但如果想要构造具备对象性质和特点的...

Python2.x利用commands模块执行Linux shell命令

用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands...