1. 程式人生 > >python requests 庫請求帶有檔案引數的介面

python requests 庫請求帶有檔案引數的介面

有些介面引數是一個檔案格式,比如fiddler 抓包引數如下顯示

這個介面的 form-data fiddler 顯示的和不帶檔案引數的介面有明顯區別,顯示的不是簡單的鍵值對,所以我們也不能只通過 data給介面傳參,需要再value為<file>的引數通過 files傳參

data = {
        "CSRFName": “CSRFName”,
        "CSRFToken": “CSRFToken”,
        "importType": "XML",
        "hit_criteria": "name",
        "action_on_duplicated_name": "generate_new",
        "useRecursion": "0",
        "bIntoProject": "0",
        "containerID": "4956",
        "MAX_FILE_SIZE": "409600",
        "UploadFile": "上傳檔案"
    }

files = {"uploadedFile": open(file_name, "rb")}
r = session.post(url=url, data=data, files=files)

這樣我們通過requests 再次請求介面,通過fiddler 抓包,驗證一下requests的請求是不是和原始的請求一致。

fiddler 顯示的form data和原始請求一致,說明我們請求引數是正確的。