Próbuję wysłać wiadomość wieloczęściową/powiązaną za pomocą żądań w języku Python. Wydaje się, że skrypt jest dość prosty, z tym wyjątkiem, że wydaje się, że tylko żądania pozwalają na wysyłanie wiadomości wieloczęściowych/danych formularzy, chociaż ich dokumentacja nie wskazuje wyraźnie tego w ten czy inny sposób.Jak wysłać "multipart/related" z zapytaniami w pythonie?
Mój przypadek użycia wysyła mydło z załącznikami. Mogę dostarczyć słownik z dwoma plikami, których zawartością jest wiadomość testowa i dokument testowy, który próbuję wysłać. Pierwszy zawiera komunikat mydła z wszystkimi instrukcjami, drugi jest rzeczywistym dokumentem.
Jeśli jednak nie podam wartości nagłówków, to tylko przy użyciu opcji plików wydaje się, że używają one danych wieloczęściowych/formularzy. Ale jeśli określę nagłówki w celu określenia innego typu wieloczęściowego, żądania nie wydają się uzupełniać informacjami o granicach mime.
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
Czy można to zrobić za pomocą żądań? Czy jest jeszcze inne narzędzie, na które powinienem patrzeć?
Czy sprawdziłeś te 22 pytania, które pojawiły się w wyniku wyszukiwania '[python] [python-requests] + multipart'? –
@PiotrDobrogost: To wszystko dotyczy 'multipart/form-data', które' requests' obsługuje. Jest to * 'multipart/related' *, które nie jest typowym kodowaniem dla' POST' i 'requests' nie obsługuje tego automatycznie. –