Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: Content-Type: application/x-www-form-urlencoded
Autor: Matthias Griesbach (---.customers.d1-online.com)
Datum:   23.06.14 18:52

Hallo Mike,

das boundary ist nur bei Content-Type: multipart/form-data notwendig, um die Multiparts, also verschiede Inhalte, voneinander trennen zu können. Z.B. 3 Bilder in einem Rutsch hochladen.

Jepp - der Content-Type im Header entscheidet, wie der Body zu gestallten ist.

Bei application/x-www-form-urlencoded ist es einfach nur ein URI mit den ganzen Daten.

Bei multipart/form-data ist es dann der Body innert eines boundary

Mit der Size habe ich auch viel probiert. Die Bytes vom Header dazu addiert etc. Sobald die Werte aber nicht gleich waren, blieb mir das Programm hängen.

Soweit ich das richtig verstanden habe, ist die Angabe TotalLength das, was dann dem Header als Content-Length hinzugefügt wird.

Also Content-Length => Body


Gerade nochmal das Multiform mit folgendem Body getestet:

Body$="--7deb41813115a2\n"
 Body$=Body$+"Content-Disposition: form-data; name=\quserfile\q; filename=\qkylt-export.csv\q\n" 
 Body$=Body$+"\n--7deb41813115a2\n"
 Body$=Body$+ReadCSV("C:\\Kylt PCR\\kylt-export.csv")+"\n"
 Body$=Body$+"--7deb41813115a2--\n"


Im Header die beiden -- beim boundary weggelassen

Print HttpAddHeader("Content-Type: multipart/form-data; Charset: utf-8; boundary=7deb41813115a2")


Klappt :-)
Gleiche SendRequest Proc wie im letzen Beispiel

Proc HttpSend
   Parameters Text$
   Declare Size&, Return$
   Size&=Len(Text$)
   Return$="Send Request "+format$("0",size&)+" Byte"  
   bResults& = PWinHttpSendRequest( hRequest&,~WINHTTP_NO_ADDITIONAL_HEADERS,0, Addr(Text$), Size&, Size&, 0) '~WINHTTP_NO_REQUEST_DATA addr(widestring#)
   CaseNot  bResults& :Return$="Send: "+str$(~GetLastError())+WinError$(%WinError)
   Return Return$
 EndProc 


Bittte mal testen.

Beste Grüße
Matthias Griesbach

Edit: Natürlich erstmal nur mit Text/CSV Dateien.

XProfan X2, Windows 7

Nachricht bearbeitet (23.06.14 18:58)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 WinHttp.dll  Neu
Matthias Griesbach 13.06.14 20:28 
 Re: WinHttp.dll  Neu
Maik Borchardt 13.06.14 23:24 
 Quellcodes  Neu
Matthias Griesbach 14.06.14 17:49 
 Re: Quellcodes  Neu
Maik Borchardt 15.06.14 23:30 
 Re: Quellcodes  Neu
Matthias Griesbach 16.06.14 19:23 
 Re: Quellcodes  Neu
Maik Borchardt 16.06.14 21:12 
 Re: Quellcodes  Neu
Matthias Griesbach 16.06.14 21:37 
 Re: Quellcodes  Neu
Maik Borchardt 16.06.14 22:04 
 Re: Quellcodes  Neu
Matthias Griesbach 16.06.14 22:48 
 Re: Quellcodes  Neu
Maik Borchardt 16.06.14 23:09 
 Re: Quellcodes  Neu
Matthias Griesbach 17.06.14 10:54 
 Re: Quellcodes  Neu
Stephan Sonneborn 21.11.19 15:14 
 Quellcodes - WinHttp Header  Neu
Matthias Griesbach 17.06.14 22:00 
 WinHttp Include  Neu
Matthias Griesbach 17.06.14 22:40 
 Re: WinHttp Include  Neu
Maik Borchardt 17.06.14 23:12 
 Re: WinHttp Include  Neu
Matthias Griesbach 18.06.14 00:18 
 WinHttp.dll gibt Antworten  Neu
Matthias Griesbach 17.06.14 23:39 
 Re: WinHttp.dll gibt Antworten  Neu
Maik Borchardt 17.06.14 23:48 
 Re: WinHttp.dll gibt Antworten  Neu
Matthias Griesbach 18.06.14 00:50 
 Re: WinHttp.dll gibt Antworten  Neu
Florian Heuberger 18.06.14 12:46 
 WinHttp.dll öffentlicher Testserver  Neu
Matthias Griesbach 20.06.14 10:12 
 Re: WinHttp.dll öffentlicher Testserver  Neu
Maik Borchardt 21.06.14 00:30 
 Content-Type: application/x-www-form-urlencoded  Neu
Matthias Griesbach 23.06.14 11:33 
 Re: Content-Type: application/x-www-form-urlencoded  Neu
Maik Borchardt 23.06.14 16:46 
 Re: Content-Type: application/x-www-form-urlencoded  Neu
Matthias Griesbach 23.06.14 18:52 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org