前言:url 中是不能出现一些特殊的符号的,有些符号有特殊的用途。比如以 get 方式提交数据的时候,会在 url 中添加 key=value 这样的字符串,所以在 value 中是不允许有 '=',因此要对其进行编码;与此同时服务器接收到这些参数的时候,要进行解码,还原成原始的数据。这个时候,这些辅助方法会很有用:

  1.  urllib.quote(string[, safe]):对字符串进行编码。参数 safe 指定了不需要编码的字符;

  2.   urllib.unquote(string) :对字符串进行解码;

  3.   urllib.quote_plus(string [ , safe ] ) :与 urllib.quote 类似,但这个方法用'+'来替换' ',而 quote 用' '来代替' '

  4.   urllib.unquote_plus(string ) :对字符串进行解码;

  5.   urllib.urlencode(query[, doseq]):将dict或者包含两个元素的元组列表转换成url参数。例如 字典{'name': 'dark-bull', 'age': 200}将被转换为"name=dark-bull&age=200"

  6.   urllib.pathname2url(path):将本地路径转换成 url 路径;

  7.   urllib.url2pathname(path):将url路径转换成本地路径;

编码工作使用urllib的parse.urlencode()函数,帮我们将key:value这样的键值对转换成"key=value"这样的字符串;

解码工作可以使用urllib的parse.unquote()函数。(注意,不是urllib.request.urlencode() )

具体栗子可查看:https://www.cnblogs.com/yandashan666/p/12253674.html

 

posted on 2020-09-21 15:39  喵小超  阅读(1140)  评论(0编辑  收藏  举报