Zastanawiam się, czy ktoś może mi udostępnić przykład danych wieloczęściowych / formularzy zawierających:
- Niektóre parametry formularza
- Wiele plików
html
http
multipart
multipartform-data
user496949
źródło
źródło
17.13.4 Form content types
znajdziesz to, czego szukasz.Odpowiedzi:
EDYCJA : utrzymuję podobną, ale bardziej szczegółową odpowiedź na: https://stackoverflow.com/a/28380690/895245
Aby dokładnie zobaczyć, co się dzieje, użyj
nc -l
lub serwera ECHO i agenta użytkownika, takiego jak przeglądarka lub cURL.Zapisz formularz do
.html
pliku:Utwórz pliki do przesłania:
Biegać:
Otwórz HTML w swojej przeglądarce, wybierz pliki i kliknij Prześlij i sprawdź terminal.
nc
drukuje otrzymane żądanie. Firefox wysłał:Alternatywnie cURL powinien wysyłać to samo żądanie POST, co formularz przeglądarki:
Możesz wykonać wiele testów z:
źródło
boundary=---------------------------9051914041544843365972754266
są dwa myślniki krótsze niż rzeczywiste granice danych. Naprawdę, bardzo trudno to zobaczyć, gdy wszystkie łączniki są splecione razem.curl --trace-ascii <logfilename> .....
jest również przydatny do przeglądania wysłanych i odebranych danych.curl -trace <logfilename> ....
pokaże również binarny. Przydatne do obserwowania <LF> vs <CR> <LF>.Wielkie dzięki dla @Ciro Santilli odpowiedz! Okazało się, że jego wybór granicy jest dość „niezadowolony”, ponieważ wszystkie te łączniki: w rzeczywistości, jak skomentował @Fake Name, kiedy używasz swojego żądania dotyczącego granicy w ramach żądania dotyczącego granicy, z przodu są jeszcze dwa łączniki:
Przykład:
Znalazłem na tej stronie w3.org, że można zawrzeć nagłówek wieloczęściowy / mieszany w danych wieloczęściowych / formularz-danych, po prostu wybierając inny ciąg graniczny w wieloczęściowym / mieszanym i używając go do inkapsulacji danych. Na koniec musisz "zamknąć" wszystkie granice używane w celu FILO do zamknięcia żądania POST (na przykład:
Spójrz na link powyżej.
źródło
Content-Disposition
przy;
?