Heim >Backend-Entwicklung >Python-Tutorial >Wie sende ich Multipart-/Formulardaten mit Dateien und Formulardaten mithilfe der Requests-Bibliothek von Python?
Senden von Multipart-/Formulardaten mithilfe von Anfragen in Python
Multipart/Formulardaten ist ein Anfrageformat, das sowohl Formulardaten als auch Dateien, die in einer einzigen Anfrage gesendet werden sollen. Um dieses Format mit Anfragen in Python zu verwenden, geben Sie einen Dateiparameter an, der ein Wörterbuch sein sollte, in dem die Schlüssel Formulardatenparameternamen und die Werte entweder Dateipfade oder Tupel mit Dateiinhalten sind.
Das folgende Beispiel zeigt Senden einer Datei zusammen mit einem Textformwert:
import requests files = {'file_field': 'path/to/file.ext', 'text_field': 'text_value'} response = requests.post('http://example.com/upload', files=files)
Dateinamen und Inhaltstyp steuern
Sie können steuern Dateiname und Inhaltstyp jedes Teils mithilfe eines Tupels als Wert im Dateiwörterbuch. Das Tupel sollte 2 bis 4 Elemente enthalten, wie folgt:
Zum Beispiel, um einen Dateinamen und einen Inhaltstyp für einen Textwert anzugeben:
files = {'text_field': (None, 'text_value', 'text/plain')}
Angeben mehrerer Felder mit demselben Namen
Um mehrere Felder mit dem zu senden Wenn Sie denselben Namen haben, verwenden Sie eine Liste von Tupeln als Wert im Dateiwörterbuch.
Verwenden von Requests-Toolbelt für erweiterte Multipart-Unterstützung
Das Requests-Toolbelt-Projekt bietet erweitertes Multipart Unterstützung. Im Gegensatz zu Anfragen wird standardmäßig kein Dateinamenparameter festgelegt und das Streamen von Feldern aus geöffneten Dateiobjekten ermöglicht.
Hier ist ein Beispiel für die Verwendung von „requests-toolbelt“:
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} )
Das obige ist der detaillierte Inhalt vonWie sende ich Multipart-/Formulardaten mit Dateien und Formulardaten mithilfe der Requests-Bibliothek von Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!