为什么要用Url编码和解码?
url带参数的请求格式为(举例): http://www.baidu.com/s?k1=v1&k2=v2
当请求数据为字典data = {k1:v1, k2:v2},且参数中包含中文或者?、=等特殊符号时,通过url编码,将data转化为特定格式k1=v1&k2=v2,并且将中文和特殊符号进行编码,避免发生歧义。
将中文和特殊符号进行编码,避免发生歧义,这是Url编码存在最实用的作用。
Url编码和解码的使用urllib
(1)parse.urlencode() dict的编码
from urllib import parse
a = "上海"
b = parse.urlencode({'wb': '上海'}) # dict 数据的编码
c = parse.unquote(b) # dict数据解码
print(c)
print(b)
(2)parse.quote() 字符串的编码
from urllib import parse
a = "上海"
b = parse.quote(a) # 字符串编码
c = parse.unquote(b) # 字符串解码
print(c)
print(b)
dict和字符串数据的编码分别调用parse的urlencode()和quote方法,而解码方式都是相同的,使用parse的unquote()方法即可。
问题来源于python学习网
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。