解决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的range和linspace使用详解

在python中要产生一个数字序列,最快的方法就是使用range和linspace函数,但是这两者不太一样,但总的来说实现的效果是一致的,都能获取一个数字序列。 range range一...

Python使用flask框架操作sqlite3的两种方式

本文实例讲述了Python使用flask框架操作sqlite3的两种方式。分享给大家供大家参考,具体如下: 方式一:raw_sql import sqlite3 from flask...

利用Python半自动化生成Nessus报告的方法

利用Python半自动化生成Nessus报告的方法

0x01 前言 Nessus是一个功能强大而又易于使用的远程安全扫描器,Nessus对个人用户是免费的,只需要在官方网站上填邮箱,立马就能收到注册号了,对应商业用户是收费的。当然,个人用...

Django URL传递参数的方法总结

1 无参数情况 配置URL及其视图如下: (r'^hello/$', hello) def hello(request): return HttpResponse("Hell...

在PyTorch中Tensor的查找和筛选例子

本文源码基于版本1.0,交互界面基于0.4.1 import torch 按照指定轴上的坐标进行过滤 index_select() 沿着某tensor的一个轴dim筛选若干个坐标 &...