Python對URL編碼和解碼

在做接口測試時,時常會發現抓取的接口參數中含有這種數據:

%3D%5B%7B%22mainspucode%22%3A%22SPU66668%22%2C%22mainskucode%22%3A%22536963999401508874

當請求數據爲字典data = {k1:v1, k2:v2},且參數中包含中文或者?、=等特殊符號時,需要通過url編碼,將data轉化爲特定格式k1=v1&k2=v2,並且將中文和特殊符號進行編碼

'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:531509025
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
from urllib import parse
from urllib import request

dict = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
data = parse.urlencode(dict)        # 將字典{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}轉換爲 k1=v1&k2=v2&k3=v3
print(data, '\n')


str = 'packagelist=%5B%7B%22mainspucode%22%3A%22SPU66668%22%2C%22mainskucode%22%3A%22536963999401508874%22%2C%22mainbarcode%22%3A%2266668%22%2C%22maincommodityname%22%3A%22%E8%8B%B9%E6%9E%9Ctest2%22%2C%22mainunitname%22%3A%22%E4%B8%AA%22%2C%22mainunitcode%22%3A%22003%22%2C%22lessspucode%22%3A%22SPU01180%22%2C%22lessskucode%22%3A%22540854222149648386%22%2C%22lessbarcode%22%3A%22Z190201000008%22%2C%22lesscommodityname%22%3A%22%E5%88%B6%E5%8D%95%E5%AD%904b%EF%BC%88%E5%B7%B2%E5%90%8C%E6%AD%A5%EF%BC%89%22%2C%22commoditytype%22%3A%2212%22%2C%22num%22%3A%2255%22%7D%5D'
str2 = parse.unquote(str)       # 解碼字符串
print(str2)
str3 = parse.quote(str2)        # 對字符串進行編碼
print(str3)

輸出結果:

k1=v1&k2=v2&k3=v3
packagelist=[{"mainspucode":"SPU66668","mainskucode":"536963999401508874","mainbarcode":"66668","maincommodityname":"蘋果test2","mainunitname":"個","mainunitcode":"003","lessspucode":"SPU01180","lessskucode":"540854222149648386","lessbarcode":"Z190201000008","lesscommodityname":"制單子4b(已同步)","commoditytype":"12","num":"55"}]
packagelist%3D%5B%7B%22mainspucode%22%3A%22SPU66668%22%2C%22mainskucode%22%3A%22536963999401508874%22%2C%22mainbarcode%22%3A%2266668%22%2C%22maincommodityname%22%3A%22%E8%8B%B9%E6%9E%9Ctest2%22%2C%22mainunitname%22%3A%22%E4%B8%AA%22%2C%22mainunitcode%22%3A%22003%22%2C%22lessspucode%22%3A%22SPU01180%22%2C%22lessskucode%22%3A%22540854222149648386%22%2C%22lessbarcode%22%3A%22Z190201000008%22%2C%22lesscommodityname%22%3A%22%E5%88%B6%E5%8D%95%E5%AD%904b%EF%BC%88%E5%B7%B2%E5%90%8C%E6%AD%A5%EF%BC%89%22%2C%22commoditytype%22%3A%2212%22%2C%22num%22%3A%2255%22%7D%5D
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章