UrlEncode
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)
結果:
username=02%E8%94%A1%E5%BD%A9%E8%99%B9&password=ddddd%3F
如果只想對一個字符串進行urlencode轉換,urllib提供另外一個函數:quote();
很多地方會用多傳輸的時候,將json字符串進行urlEncode后,進行傳輸
import urllib.parse
import json
filter = {'and': [{'field': 'msgSubject', 'value': 'obc_code', 'operator': '='},
{'field': 'msgTo', 'value': 'OBC', 'operator': '='},
{'field': 'msgType', 'value': 'confirmASNData', 'operator': '='}]}
# 先把字段轉為json
filter_json = json.dumps(filter)
# 再把json串進行urlencode
filter_encode = urllib.parse.quote(str(filter_json))
print(filter_encode)
UrlDecode
python 沒有urlDecode的函數
如果需要解碼,urllib提供了unquote()這個函數
s='%E7%88%B8%E7%88%B8'
s=urllib.parse.unquote(s)
print(s)
輸出結果為: 爸爸