urlencode浏览器地址编码格式

Posted 在这里, 意淫和实干都值得尊重

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了urlencode浏览器地址编码格式相关的知识,希望对你有一定的参考价值。

urllib.urlencode()

urllib 和 urllib2 都是接受URL请求的相关模块,但是提供了不同的功能。两个最显著的不同如下:
  • urllib 仅可以接受URL,不能创建 设置了headers 的Request 类实例;

  • 但是 urllib 提供 urlencode 方法用来GET查询字符串的产生,而 urllib2 则没有。(这是 urllib 和 urllib2 经常一起使用的主要原因)

  • 编码工作使用urllib的urlencode()函数,帮我们将key:value这样的键值对转换成"key=value"这样的字符串,解码工作可以使用urllib的unquote()函数。(注意,不是urllib2.urlencode() )

# IPython2 中的测试结果
In [1]: import urllib

In [2]: word = {"wd" : "传智播客"}

# 通过urllib.urlencode()方法,将字典键值对按URL编码转换,从而能被web服务器接受。
In [3]: urllib.urlencode(word)  
Out[3]: "wd=%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2"

# 通过urllib.unquote()方法,把 URL编码字符串,转换回原先字符串。
In [4]: print urllib.unquote("wd=%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2")
wd=传智播客
一般HTTP请求提交数据,需要编码成 URL编码格式,然后做为url的一部分,或者作为参数传到Request对象中。

以上是关于urlencode浏览器地址编码格式的主要内容,如果未能解决你的问题,请参考以下文章

http-关于application/x-www-form-urlencoded等字符编码的解释说明

application/x-www-form-urlencoded

为啥我不能使用 urlencode 对 json 格式数据进行编码?

关于网络 URL 地址的编码

python接口自动化-urlencode编码%E6%82%A0%E6%82%A0与解码

Post请求的两种编码格式:application/x-www-form-urlencoded和multipart/form-data