Heim > Backend-Entwicklung > Python-Tutorial > Wie lade ich mehrteilige Formulardaten mit der Requests-Bibliothek von Python hoch?

Wie lade ich mehrteilige Formulardaten mit der Requests-Bibliothek von Python hoch?

Barbara Streisand
Freigeben: 2024-12-30 09:51:11
Original
670 Leute haben es durchsucht

How to Upload Multipart Form Data with Python's Requests Library?

Hochladen von mehrteiligen Formulardaten mit Anfragen in Python

In Python können Anfragen verwendet werden, um „multipart/form-data“-Anfragen zu senden, die häufig zum Hochladen von Dateien und zum Senden von Formulardaten an einen Webserver verwendet werden.

Senden einer Single Datei

Um eine Datei zu senden, verwenden Sie den Parameter „Dateien“. Der Wert von „files“ sollte ein Wörterbuch mit einem Dateipfad als Schlüssel und einem geöffneten Dateiobjekt oder einem Tupel als Wert sein. Zum Beispiel:

import requests

with open('myfile.txt', 'rb') as f:
    files = {'myfile': f}

response = requests.post('http://example.com/upload', files=files)
Nach dem Login kopieren

Formulardaten zusammen mit Dateien senden

Um Formulardaten zusätzlich zu Dateien zu senden, können Sie sowohl „Dateien“ als auch „Daten“ verwenden " Parameter. Der Parameter „data“ sollte ein Wörterbuch mit den Formulardaten-Schlüssel-Wert-Paaren sein.

import requests

with open('myfile.txt', 'rb') as f:
    files = {'myfile': f}

data = {'name': 'John Doe'}

response = requests.post('http://example.com/upload', files=files, data=data)
Nach dem Login kopieren

Verwendung des Requests-Toolbelt für Multipart Support

Die Requests- Die Toolbelt-Bibliothek bietet eine erweiterte MultipartEncoder-Klasse, die den Prozess der Erstellung mehrteiliger Anforderungen vereinfacht. Die Felder können im gleichen Format wie der Parameter „Dateien“ definiert werden.

from requests_toolbelt.multipart.encoder import MultipartEncoder

fields = {
    'foo': 'bar',
    'spam': ('spam.txt', open('spam.txt', 'rb'), 'text/plain'),
}

multipart_encoder = MultipartEncoder(fields=fields)

response = requests.post('http://example.com/upload', data=multipart_encoder, headers={'Content-Type': multipart_encoder.content_type})
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lade ich mehrteilige Formulardaten mit der Requests-Bibliothek von Python hoch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage