Ich versuche, eine mehrteilige/verwandte Nachricht mit Anfragen in Python zu senden. Das Skript scheint einfach genug zu sein, außer dass Anfragen nur das Senden von mehrteiligen/Formulardaten erlauben, obwohl ihre Dokumentation dies nicht eindeutig auf die eine oder andere Art angibt.Wie senden Sie ein "multipart/related" mit Anfragen in Python?
Mein Anwendungsfall sendet Seife mit Anhängen. Ich kann ein Wörterbuch mit den zwei Dateien bereitstellen, deren Inhalt eine Test-Soap-Nachricht ist, und ein Testdokument, das ich zu senden versuche. Die erste enthält die Soap-Nachricht mit allen Anweisungen, die zweite ist das eigentliche Dokument.
Wenn ich jedoch keinen Header-Wert angeben, scheint nur Anfragen multipart/form-data zu verwenden, wenn Sie die Option files verwenden. Wenn ich jedoch Header für den Versuch vorschlage, einen anderen Multipart-Typ anzugeben, scheinen die Requests die Mime-Randinformationen nicht hinzuzufügen.
url = 'http://10.10.10.90:8020/foo'
headers = {'content-type': 'multipart/related'}
files = {'submission': open('submission_set.xml', 'rb'), 'document': open('document.txt', 'rb')}
response = requests.post(url, data=data, headers=headers)
print response.text
Gibt es eine Möglichkeit, dies mit Anfragen zu erledigen? Oder gibt es ein anderes Werkzeug, das ich betrachten sollte?
Haben Sie diese 22 Fragen überprüft, die als Ergebnis der Suche nach "[Python] [Python-Anfragen] + Multipart" kommen? –
@PiotrDobrogost: Es handelt sich dabei um 'multipart/form-data', die für Sie' requests' behandeln. Dies ist * 'multipart/related' *, was keine übliche Kodierung für' POST' ist und 'requests' behandelt das nicht automatisch. –