有些接口參數是一個檔案格式,比如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和原始請求一緻,說明我們請求參數是正确的。