Menghantar Multipart/Borang-Data Menggunakan Permintaan dalam Python
Multipart/form-data ialah format permintaan yang membenarkan kedua-dua data borang dan fail untuk dihantar dalam satu permintaan. Untuk menggunakan format ini dengan permintaan dalam Python, nyatakan parameter fail, yang sepatutnya menjadi kamus yang kuncinya ialah nama parameter data bentuk dan nilainya sama ada laluan fail atau tuple yang mengandungi kandungan fail.
Contoh berikut menunjukkan menghantar fail bersama-sama dengan nilai bentuk teks:
import requests files = {'file_field': 'path/to/file.ext', 'text_field': 'text_value'} response = requests.post('http://example.com/upload', files=files)
Mengawal Nama Fail dan Kandungan Taip
Anda boleh mengawal nama fail dan jenis kandungan setiap bahagian dengan menggunakan tuple sebagai nilai dalam kamus fail. Tuple hendaklah mengandungi 2 hingga 4 elemen, seperti berikut:
Sebagai contoh, untuk menentukan nama fail dan jenis kandungan untuk nilai teks:
files = {'text_field': (None, 'text_value', 'text/plain')}
Menentukan Berbilang Medan dengan Nama Yang Sama
Untuk menghantar berbilang medan dengan nama yang sama, gunakan senarai tupel sebagai nilai dalam kamus fail.
Menggunakan Requests-Toolbelt untuk Advanced Multipart Support
The requests-toolbelt projek menyediakan sokongan Multipart maju. Tidak seperti permintaan, ia lalai untuk tidak menetapkan parameter nama fail dan membenarkan medan distrim daripada objek fail terbuka.
Berikut ialah contoh menggunakan tali pinggang-permintaan:
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} )
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Multipart/Borang-Data dengan Fail dan Data Borang Menggunakan Perpustakaan Permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!