當url地址含有中文,或者參數有中文的時候,這個算是很正常了,但是把這樣的url作為參數傳遞的時候(最常見的callback),需要把一些中文甚至'/'做一下編碼轉換。
所以對於一些中文或者字符,url不識別的,則需要進行轉換,轉換結果如下:
urllib庫裡面有個urlencode函數,可以把key-value這樣的鍵值對轉換成我們想要的格式,返回的是a=1&b=2這樣的字符串,比如:
import urllib.parse
values={}
values['username']='02蔡彩虹'
values['password']='ddddd?'
url="http://www.baidu.com"
data=urllib.parse.urlencode(values)
print(data)
結果如下:
如果只想對一個字符串進行urlencode轉換,怎麼辦?urllib提供另外一個函數:quote()
import urllib.parse
s='長春'
s=urllib.parse.quote(s)
print(s)
輸出結果為:
當urlencode之後的字符串傳遞過來之後,接受完畢就要解碼了——urldecode。urllib提供了unquote()這個函數,可沒有urldecode()!
s='%E5%B9%BF%E5%B7%9E'
s=urllib.parse.unquote(s)
print(s)
輸出結果為: