在Python 中使用請求發送Multipart/Form-Data
Multipart/form-data 是一種請求格式,允許表單資料和要在單一請求中傳送的文件。若要在 Python 中的請求中使用此格式,請指定一個 files 參數,該參數應該是一個字典,其中鍵是表單資料參數名稱,值是檔案路徑或包含檔案內容的元組。
以下範例示範發送文件和文字表單值:
import requests files = {'file_field': 'path/to/file.ext', 'text_field': 'text_value'} response = requests.post('http://example.com/upload', files=files)
控製檔案名稱和內容Type
您可以透過使用元組作為文件字典中的值來控制每個部分的檔案名稱和內容類型。此元組應包含2 到4 個元素,如下所示:
例如,要指定文字值的檔案名稱和內容類型:
files = {'text_field': (None, 'text_value', 'text/plain')}
指定多個相同的字段名稱
要發送多個同名字段,請使用元組列表作為文件字典中的值。
使用 Requests-Toolbelt 實現高階多部分支援
requests-toolbelt 專案提供了進階的 Multipart 支援。與請求不同,它預設不設定檔案名稱參數,並允許從開啟的檔案物件串流傳輸欄位。
這是使用 requests-toolbelt 的範例:
from requests_toolbelt.multipart.encoder import MultipartEncoder mp_encoder = MultipartEncoder( fields={ 'file_field': ('file.ext', open('path/to/file.ext', 'rb'), 'application/octet-stream'), 'text_field': 'text_value', } ) response = requests.post( 'http://example.com/upload', data=mp_encoder, headers={'Content-Type': mp_encoder.content_type} )
以上是如何使用 Python 的請求庫發送包含文件和表單資料的多部分/表單資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!