每日一模块-Python-Url编码和解码
一、为什么要进行Url编码
url带参数的请求格式为(举例): http://www.baidu.com/s?k1=v1&k2=v2
当请求数据为字典data = {k1:v1, k2:v2},且参数中包含中文或者?、=等特殊符号时,通过url编码,将data转化为特定格式k1=v1&k2=v2,并且将中文和特殊符号进行编码,避免发生歧义
二、Url编码
1、urlencode( )
from urllib import parse
from urllib import request
url = 'http://www.baidu.com/s?'
dict1 ={'wd': '百度翻译'}
url_data = parse.urlencode(dict1) #unlencode()将字典{k1:v1,k2:v2}转化为k1=v1&k2=v2
print(url_data) #url_data:wd=%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91
data = request.urlopen((url+url_data)).read() #读取url响应结果
data = data.decode('utf-8') #将响应结果用utf8编码
print(data)
url_org = parse.unquote(url_data) #解码url
print(url_org) #url_org:wd=百度翻译
str1 = 'haha哈哈'
str2 = parse.quote(str1) #将字符串进行编码
print(str2) #str2=haha%E5%93%88%E5%93%88
str3 = parse.unquote(str2) #解码字符串
print(str3) #str3=haha哈哈
2、quote( ) 和 unquote( )
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哈哈
人生苦短,我用python!
标签:
每日一模块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
2018-07-07 Python学习_加密模块 hashlib