python中 对url处理函数

Python2 中urllib模块提供了一些函数操作URL本身。

一、quote(string[, safe])  

  它返回一个字符串,其中所有的特殊字符都已被对URL友好的字符所代替(就像用%7E代替了~)

  举例:假设接口测试中,要向一个url发送一串json格式的报文,服务器要接收时会对json数据进行解析,如果报文中有%@*?等特殊字符,很有可能服务器接收并解析后就不合法 出现空格等,我们可以使用这个函数将json数据编码。

  它对应的解码是unquote(string)。(结果跟网页版的urlencode是一样的)。


二、quote_plus(string[,safe])。

  功能和quote差不多,但用+代替空格。对应的解码函数是unquote_plus(string)

 

三、urlencode(query[,doseq]) 

  把映射(比如字典)或者包含两个元素的元组的序列——(key,value)这种形式——转换成URL格式编码的字符串,这样的字符串可以在CGI查询中使用。

  举例:当url地址含有中文,或者参数有中文的时候,url作为参数传递,需要处理一下。

>> data ={'No': '01', 'Name': '燕子'}
>> print(urlencode(data))

  结果:

>>Name=%E7%87%95%E5%AD%90&No=01

  注意 它对应的解码 是没有decode函数的,对应的还是unquote(string)

>>unquote("%E7%87%95%E5%AD%90")

  结果 >>燕子

 

 

(python3中,以上介绍的函数在urllib.parse模块中)

 

posted @ 2018-02-05 11:25  了不起的小白  阅读(5508)  评论(1编辑  收藏  举报