1. 程式人生 > 其它 >利用Python requests post上傳檔案

利用Python requests post上傳檔案

技術標籤:pythonpython介面

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關鍵字引數


Fiddler抓包

2.2、構造files請求引數

構造files
如上述結論,首先構造myfiles字典。該字典的key為最後一項name所對應的’file’,value為通過 open 函式以二進位制方式開啟檔案,如下所示。

myfiles = {
        'file': open('絕對地址', 'rb')
}

2.3、構造data請求引數

還是如上述結論,mydata為除file之外的其它Web表單中的鍵值對,key依舊是各個name。
構造data

mydata = {
        'orgId': 'xxx',
        'roleIds': 'xxx',
        'userGroupIds'
: 'xxx', 'invalidTime': 'xxx', }

2.4、傳送請求

res = requests.post(url, headers=myheaders, data=mydata, files=myfiles)

3、參考