Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menghantar Multipart/Borang-Data dengan Fail dan Data Borang Menggunakan Perpustakaan Permintaan Python?

Bagaimana untuk Menghantar Multipart/Borang-Data dengan Fail dan Data Borang Menggunakan Perpustakaan Permintaan Python?

Barbara Streisand
Lepaskan: 2024-12-13 12:25:13
asal
400 orang telah melayarinya

How to Send Multipart/Form-Data with Files and Form Data Using Python's Requests Library?

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

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:

  • Elemen 1: nama fail (pilihan)
  • Elemen 2: kandungan
  • Elemen 3 (pilihan): kandungan taip
  • Elemen 4 (pilihan): pengepala tambahan

Sebagai contoh, untuk menentukan nama fail dan jenis kandungan untuk nilai teks:

files = {'text_field': (None, 'text_value', 'text/plain')}
Salin selepas log masuk

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

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!

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