requests上傳檔案,又要上傳data的處理

2022-05-08 17:06:14 字數 1655 閱讀 5977

最近在自己學著弄介面自動化框架,因為要封裝乙個傳送請求的父類,其中有考慮到上傳檔案,以及同時上傳檔案,和傳遞其他字段資料,遇到點小問題 這裡解決下。

參考文件

來自fastapi官方文件上傳檔案例項:

#!/usr/bin/env/python3

# -*- coding:utf-8 -*-

"""@project: api

@author: zy7y

@file: fapi.py

@ide: pycharm

@time: 2020/8/1

"""from fastapi import fastapi, file, uploadfile, form

async def create_upload_file(file_excel: uploadfile = file(...), username: str = form(...)):

# 讀取檔案

contents = await file_excel.read()

# 儲存本地

with open(file_excel.filename, "wb") as f:

f.write(contents)

return

if __name__ == '__main__':

import uvicorn

執行這個檔案:可以通過檢視介面文件

引數名引數說明

備註file_excel

檔案二進位制物件

不能為空

username

使用者名稱不能為空

引數名引數說明

備註msg

操作結果

filename

檔名稱username

使用者名稱

#!/usr/bin/env/python3

# -*- coding:utf-8 -*-

"""@project: apiautotest

@author: zy7y

@file: request_demo.py

@ide: pycharm

@time: 2020/8/1

"""import requests

# 上傳檔案介面

url = ''

# 上傳非檔案的引數資料

data =

# 上傳檔案型別的引數資料, 下面的 'file_excel' 是上面介面中對應的請求引數裡的檔案物件中的引數名,

file =

res = requests.post(url, data, files=file)

print(res.json())

結果:

/users/zy7y/pycharmprojects/apiautotest/venv/bin/python /users/zy7y/pycharmprojects/apiautotest/tools/demo.py

process finished with exit code 0

上傳檔案資料 Requests

可以通過 request 或 requests 上傳檔案 以 json 形式傳送post請求 multipart form data 一般使用來上傳檔案。定製報頭 報頭的資料型別為字典 若要定製多報頭,可使用 headers 更多 urllib python3 其他說明 map object at ...

7 Requests庫 超時設定 檔案上傳

將timeout作為引數項,若響應超過設定的時間後即停止等待響應,以防某些請求沒有響應而一直處於等待狀態 獲取響應時間 res.elapsed.total seconds 案例 import requests base url cookie r requests.get base url cooki...

HTTP協議上的檔案上傳

檔案上傳 tcp協議 1 http協議上的檔案上傳,最頻繁的應用場景了。rfc1867裡定義的標準http協議post報文格式如下 header 寫道 content type multipart form data body content type multipart form data,bou...