Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh menghantar permintaan Multipart/Form-Data dalam Python menggunakan perpustakaan Permintaan?

Bagaimanakah saya boleh menghantar permintaan Multipart/Form-Data dalam Python menggunakan perpustakaan Permintaan?

Barbara Streisand
Lepaskan: 2025-01-03 12:09:42
asal
728 orang telah melayarinya

How can I send Multipart/Form-Data requests in Python using the Requests library?

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)
Salin selepas log masuk

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:

  • Nama Fail (pilihan)
  • Kandungan
  • Jenis kandungan (pilihan)
  • Pengepala tambahan (pilihan)

Untuk contoh:

files = {'foo': (None, 'bar')}  # No filename parameter
Salin selepas log masuk

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')]}
Salin selepas log masuk

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:

  • Strim permintaan daripada objek fail terbuka
  • Mengabaikan parameter nama fail secara lalai
  • Mengawal sempadan yang digunakan dalam pengepala berbilang bahagian

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan