利用Python requests post上傳檔案
阿新 • • 發佈:2021-01-25
Python requests post上傳檔案
1、前言
利用requests庫的POST方法,可以上傳圖片、視訊、Excel等檔案。注意請求頭中設定Content-Type: multipart/form-data。
2、實踐
2.1、抓包分析
通過Fiddler抓包獲取到WebForms如下圖所示,除了最後一項的Value為file型別,其它均為字串型別。通過閱讀其它文章並實驗,得出結論:將file和除file之外的其它資料分別構造成myfiles和mydata字典,分別傳到requests.post方法的files和data關鍵字引數
2.2、構造files請求引數
如上述結論,首先構造myfiles字典。該字典的key為最後一項name所對應的’file’,value為通過 open 函式以二進位制方式開啟檔案,如下所示。
myfiles = {
'file': open('絕對地址', 'rb')
}
2.3、構造data請求引數
還是如上述結論,mydata為除file之外的其它Web表單中的鍵值對,key依舊是各個name。
mydata = {
'orgId': 'xxx',
'roleIds': 'xxx',
'userGroupIds' : 'xxx',
'invalidTime': 'xxx',
}
2.4、傳送請求
res = requests.post(url, headers=myheaders, data=mydata, files=myfiles)