Hallo,
Ich möchte mehrere FILEs auf einen Server laden. Da es mir nur erlaubt ist über ein sehr eingeschränktes HTTP Webinterface Dateien hochzuladen, habe ich es ich C/C++ fast fertig realisiert.
Über den Browser gesnifft sehen die Packets eines Uploads folgender Maßen aus:
Es handelt sich dabei um einen "Multiupload" mit nur einer Datei. Der Rücksende String meiner Lösung fängt mit "HTTP/1.1 200 OK" an, von dem her besteht kein syntax Fehler. Die Datei befindet sich jedoch nicht am Server.
Folgendes verwirrt mich ein bischen:
Wofür ist das boundary und wie wird dieses generiert? (Länge?)
Der File Inhalt steht sehr merkwürdig darin. Kann man das einfach binär rüberschicken?
Im Internet habe ich etwas über MIME encoding herausgefunden, jedoch bin ich noch zu keinem Ergebnis gekommen.
Kann mir jemand ein Beispiel zeigen, wie man eine PDF Datei mit POST hochlädt?
mfg. Poseidon
Ich möchte mehrere FILEs auf einen Server laden. Da es mir nur erlaubt ist über ein sehr eingeschränktes HTTP Webinterface Dateien hochzuladen, habe ich es ich C/C++ fast fertig realisiert.
Über den Browser gesnifft sehen die Packets eines Uploads folgender Maßen aus:
Code:
Send: Return Code: 0x00000000
POST ... HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; de) Presto/2.10.229 Version/11.61
Host: ...
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: de-AT,de;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Referer: ...
Cookie: ASPSESSIONIDQSTRSARB=JIMNHHCBIDABIEOFLKFGMJED; gesperrt=alle|direction=asc|rdo_keinFilter=checked|rdo_rh_bez=checked|
Connection: Keep-Alive
Content-Length: 16863
Content-Type: multipart/form-data; boundary=----------SVGCWTfxlxZIMwQSpaWDfO
Send: Return Code: 0x00000000
------------SVGCWTfxlxZIMwQSpaWDfO
Content-Disposition: form-data; name="__VIEWSTATE"
/wEPDwUKMTI0NTA2ODE5Nw9kFgJmD2QWBAIBD2QWAgIBDxYCHglpbm5lcmh0bWwFDE11bHRpLVVwbG9hZGQCBQ8WAh4HZW5jdHlwZQUTbXVsdGlwYXJ0L2Zvcm0tZGF0YRYCAgEPZBYSZg9kFgJmDxAPFgQeCENzc0NsYXNzBQdoaW53ZWlzHgRfIVNCAgJkZBYBZmQCAg9kFgJmDxBkZBYAZAIEDxYCHgdWaXNpYmxlaBYCAgEPEA8WBB4EVGV4dAUOQXV0b3NrYWxpZXJ1bmceB0NoZWNrZWRnZGRkZAIFDxYCHwRoFgICAQ8QDxYEHwUFGFByb3BvcnRpb25lbiBiZWliZWhhbHRlbh8GZ2RkZGQCBg8WAh8EaBYCAgEPEA8WAh8FBQ1CaWxkIHN0cmVja2VuZGRkZAIHDxYCHwRoFgICAQ8QDxYEHwUFHlNjaGxhZ3NjaGF0dGVuIGhpbnp1ZiZ1dW1sO2dlbh8GaGRkZGQCCA8PFgIfBQURRGF0ZWkgw7xiZXJ0cmFnZW5kZAIJDw8WAh8FBQpTY2hsaWXDn2VuZGQCCg8PFgYfAgUHaGlud2Vpcx8FBZwBPHA+PGI+R2VzYW10Z3LDtsOfZTwvYj48YnI+PHA+PGI+QWNodHVuZyE8L2I+IERpZSBHZXNhbXRncsO2w59lIGRlciBob2NoenVsYWRlbmRlbiBEYXRlaWVuIGRhcmYgZm9sZ2VuZGVuIFdlcnQgbmljaHQgw7xiZXJzY2hyZWl0ZW46PGI+IDUwIE1CICg1MTIwMCBLQik8L2I+HwMCAmRkZIk3+uj2tP7wpv5anE4HXcDgiRBN
------------SVGCWTfxlxZIMwQSpaWDfO
Content-Disposition: form-data; name="ctl00$cph_text$ctl01"
222750495
------------SVGCWTfxlxZIMwQSpaWDfO
Content-Disposition: form-data; name="ctl00$cph_text$File1"; filename="Test.pdf"
Content-Type: application/pdf
%PDF-1.4
%âãÏÓ
11 0 obj<</H[556 171]/Linearized 1/E 6413/L 15445/N 2/O 14/T 15178>>
endobj
xref
11 13
0000000016 00000 n
0000000727 00000 n
0000000556 00000 n
0000000804 00000 n
0000000932 00000 n
0000001038 00000 n
0000001775 00000 n
0000002389 00000 n
0000003081 00000 n
0000003320 00000 n
0000003565 00000 n
0000003641 00000 n
0000006158 00000 n
trailer
<</Size 24/Prev 15167/Root 12 0 R/Info 10 0 R/ID[<29803daf70ae9e64e763840ef915317b><37140295968d7f43ba601f2472d04627>]>>
startxref
0
%%EOF
13 0 obj<</Length 93/Filter/FlateDecode/L 99/S 56>>stream
xÚb```a``ªd`f`Öaàb@
Es handelt sich dabei um einen "Multiupload" mit nur einer Datei. Der Rücksende String meiner Lösung fängt mit "HTTP/1.1 200 OK" an, von dem her besteht kein syntax Fehler. Die Datei befindet sich jedoch nicht am Server.
Folgendes verwirrt mich ein bischen:
Wofür ist das boundary und wie wird dieses generiert? (Länge?)
Der File Inhalt steht sehr merkwürdig darin. Kann man das einfach binär rüberschicken?
Im Internet habe ich etwas über MIME encoding herausgefunden, jedoch bin ich noch zu keinem Ergebnis gekommen.
Kann mir jemand ein Beispiel zeigen, wie man eine PDF Datei mit POST hochlädt?
mfg. Poseidon