2016-09-06 1 views
1

Warnung Ich habe einige Leute haben gefragt, aber es ist in der Regel über CURL, ich frage über das Senden über WinSock2.C++ | Winsock - Korrekte Art, HTTP-Post zum Hochladen einer Datei zu schreiben?

Okay, ich weiß, wie man POST und GET-Anweisungen ziemlich einfach macht, (POST mit Anwendung/Anwendung/x-www-Form-urlencoded) aber ich bin nicht sicher, wie man multipart/form-data verwendet, ich weiß es hat etwas mit Grenze zu tun, um festzulegen, wann Sie mit dem Senden von Daten fertig sind.

Aber wie sollte ein einfacher HTTP POST zum Hochladen von Dateien aussehen? (Kannst du es auch auf einen PHP POSTBACK hochladen? Wenn es application/x-www-form-urlencoded wäre könnte ich sowas sehen wie filename = hello.png & data = ...)

Etwas wie dieses Format: (Das ist alles, was ich über das Senden der Daten weiß) Ich kann kein solides Beispiel online finden, also stelle ich die Frage.

POST /postback.php HTTP/1.1 
HOST: www.website.com 
Content-Type: multipart/form-data; boundary=----IAmABoundary 
Content-Length: 300 

------IAmABoundary 
Send Binary Data? 
------IAmABoundary-- 

Antwort

0

Verwenden Fiedler zu erfassen Hochladen einer Datei können Sie das tatsächliche Format sehen, Ihr Beispiel über mehr oder weniger Recht wie ich mich erinnere. Hier ist eine viel umfassendere Antwort mit einem guten Beispiel: Example of multipart/form-data

0

HTTP-Nachrichten sind MIME-Nachrichten. Es ist eigentlich ein ziemlich komplexes Kodierungsformat.

Beginnen Sie mit dem Lesen RFC 2045. Dies ist die Basisspezifikation für MIME.

Dann gehen Sie weiter zu RFC 2046. Abschnitt 5 von RFC 2046 legt die Spezifikation für multipart MIME-Nachrichten fest, die für das Format multipart/form-data verwendet wird, das Sie sehen.

Es ist eine Menge Material zu lesen, wahr. Es ist jedoch unerlässlich, MIME-formatierte Nachrichten vollständig zu verstehen, um zu verstehen, wie Datei-Uploads funktionieren.

0

, wenn Sie Dateiinhalte senden mögen tatsächlich können Sie nur den Dateiinhalt in nach den HTTP-Header setzen, und stellen Sie den Inhaltstyp und den Content-Length

multipart/form-data durch HTML-Formular verwendet wird, Um ein Formular zu senden/senden, das eine Datei in seinem Feld enthält, haben sie die Teile/Felder unter Verwendung der mehrteiligen Grenze

getrennt
Verwandte Themen