在Python 中透過要求發送「Multipart/Form-Data」
Multipart/form-data 是一種常見的編碼,用於上傳檔案和其他資料到網路伺服器。使用Python中的Requests庫,您可以輕鬆發送多部分/表單資料請求。
傳送文件
要傳送文件,您可以使用files參數post() 方法。此參數需要一個字典,其中鍵是表單欄位名稱,值是要上傳的檔案物件。
傳送表單資料
除了檔案之外,您還可以也可以使用 files 參數傳送表單資料。但是,需要注意的是,當您指定 files 參數時,Requests 將發送 multipart/form-data POST 而不是預設的 application/x-www-form-urlencoded POST。
要使用files 參數,您可以簡單地傳遞字串或位元組物件作為表單欄位的值。例如:
import requests files = {'foo': 'bar'} response = requests.post('http://httpbin.org/post', files=files)
自訂檔案參數
您可以使用元組而不是元組來進一步控制每個檔案的檔案名稱、內容類型和附加標頭單一字串或位元組物件。元組應包含:
對於範例:
files = {'foo': (None, 'bar')} # No filename parameter
發送具有相同名稱的多個欄位
您也可以透過提供元組清單作為值來傳送具有相同名稱的多個欄位檔案參數。例如:
files = {'foo': [(None, 'bar'), (None, 'baz')]}
使用Requests-Toolbelt
requests-toolbelt專案提供了一個高階的多部分編碼器,可以簡化發送多部分/表單資料請求的過程。使用此編碼器,您可以:
例如:
from requests_toolbelt.multipart.encoder import MultipartEncoder mp_encoder = MultipartEncoder( fields={ 'foo': 'bar', 'spam': ('spam.txt', open('spam.txt', 'rb'), 'text/plain'), } ) headers = {'Content-Type': mp_encoder.content_type} response = requests.post('http://httpbin.org/post', data=mp_encoder, headers=headers)
以上是如何使用 Requests 函式庫在 Python 中傳送 Multipart/Form-Data 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!