使用python對url編碼解碼

url中的query帶有特殊字符(不是url的保留字)時須要進行編碼。
函數

當url中帶有漢字時,須要特殊的處理才能正確編碼,如下都只針對這種情形,固然也適用於純英文字符的url。編碼

(1) url編碼:url

import urllibspa

url = 'http://test.com/s?wd=哈哈'3d

url = url.decode('gbk', 'replace')code

print urllib.quote(url.encode('utf-8', 'replace'))utf-8

結果: http%3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88test

(2) url解碼:import

import urllibim

encoded_url = 'http%3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88'

print urllib.unquote(encoded_url).decode('utf-8', 'replace').encode('gbk', 'replace')


函數調用的參數以及結果都是utf-8編碼的,因此在對url編碼時,須要將參數串的編碼從原始編碼轉換成utf-8,

對url解碼時,須要將解碼結果從utf-8轉換成原始編碼格式

相關文章
相關標籤/搜索