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模塊中)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM