Menghantar "Multipart/Borang-Data" dengan Permintaan dalam Python
Multipart/form-data ialah pengekodan biasa yang digunakan untuk memuat naik fail dan data lain ke pelayan web. Dengan perpustakaan Permintaan dalam Python, anda boleh menghantar permintaan data berbilang bahagian/borang dengan mudah.
Menghantar Fail
Untuk menghantar fail, anda boleh menggunakan parameter fail bagi kaedah post(). Parameter ini menjangkakan kamus yang kuncinya ialah nama medan borang dan nilainya ialah objek fail untuk dimuat naik.
Menghantar Data Borang
Selain fail, anda juga boleh menghantar data borang menggunakan parameter fail. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa Permintaan akan menghantar POST berbilang bahagian/data borang dan bukannya POST aplikasi lalai/x-www-form-urlencoded POST apabila anda menentukan parameter fail.
Untuk menghantar data borang menggunakan fail, anda hanya boleh menghantar objek rentetan atau bait sebagai nilai medan borang. Contohnya:
import requests files = {'foo': 'bar'} response = requests.post('http://httpbin.org/post', files=files)
Menyesuaikan Parameter Fail
Anda boleh mengawal selanjutnya nama fail, jenis kandungan dan pengepala tambahan untuk setiap fail dengan menggunakan tuple dan bukannya a rentetan tunggal atau objek bait. Tuple hendaklah mengandungi:
Untuk contoh:
files = {'foo': (None, 'bar')} # No filename parameter
Menghantar Berbilang Medan dengan Nama Yang Sama
Anda juga boleh menghantar berbilang medan dengan nama yang sama dengan menyediakan senarai tupel sebagai nilai parameter fail. Contohnya:
files = {'foo': [(None, 'bar'), (None, 'baz')]}
Menggunakan Requests-Toolbelt
Projek requests-toolbelt menyediakan pengekod berbilang bahagian lanjutan yang memudahkan proses menghantar permintaan berbilang bahagian/borang-data . Dengan pengekod ini, anda boleh:
Contohnya:
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)
Atas ialah kandungan terperinci Bagaimanakah saya boleh menghantar permintaan Multipart/Form-Data dalam Python menggunakan perpustakaan Permintaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!