Requests提供了發送多部分/表單資料請求的能力,允許文件上傳和表單資料提交.
要上傳文件,只需在文件中指定鍵值對參數,其中鍵是表單欄位名稱,值為開啟的檔案物件或檔案路徑。例如:
import requests with open('image.jpg', 'rb') as f: file_data = {'image': f} response = requests.post('http://example.com/upload', files=file_data)
要傳送表單數據,您也可以使用files參數。但是,與文件上傳不同,值不是文件對象,而是字串或位元組。
要指定表單數據,請使用字典,其中鍵是表單欄位名稱,值是要提交的資料。例如:
form_data = {'username': 'myusername', 'password': 'mypassword'} response = requests.post('http://example.com/login', files=form_data)
您可以使用檔案和資料參數同時上傳檔案和提交表單資料。如果資料是字串,則將使用它而不是檔案。如果資料是字典,它將與文件合併。
例如:
form_data = {'comment': 'Hello, world!'} file_data = {'image': 'image.jpg'} response = requests.post('http://example.com/post', data=form_data, files=file_data)
requests-toolbelt庫提供增強的多部分支持,包括高級功能,例如:
要使用requests-toolbelt,請透過pip install requests-toolbelt 安裝它並按照以下步驟操作:
from requests_toolbelt.multipart.encoder import MultipartEncoder
mp_encoder = MultipartEncoder( fields={ 'field_name': 'field_value', ('file_name', 'file_content', 'file_type'), # Other form data fields and files can be added here } )創建一個MultipartEncoder物件:
headers = {'Content-Type': mp_encoder.content_type} response = requests.post('http://example.com/post', data=mp_encoder, headers=headers)Make HTTP協定request:透過使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,您可以使用這些方法,可以使用這些方法在Python中無縫發送多部分/表單資料請求,以進行文件上傳和表單資料提交。
以上是如何使用 Requests 和 Requests-Toolbelt 在 Python 中發送多部分/表單資料請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!