> with the sample code above, the apache/php server doesn't see any > POST data with firefox it does... > although i don't see any difference... > anyone any idea ?
Cookie expected by the Apache server ? -- [EMAIL PROTECTED] http://www.overbyte.be ----- Original Message ----- From: "Guillaume MAISON" <[EMAIL PROTECTED]> To: <twsocket@elists.org> Sent: Tuesday, July 26, 2005 4:25 PM Subject: [twsocket] [HELP] HttpCli and Upload files... > Hi everyone, > > I want to send some files using ThttpCli and the Post Method. > i've searched through the ML for code samples, etc... > > Based upon what i've found, here's the code i've written (based upon ICS's > httpPost example) : > > procedure THttpPostForm.PostButtonClick(Sender: TObject); > var > Data : String; > crlf : String; > lFs : TMemoryStream; > lBoundary:string; > begin > crlf:=#13#10; > lBoundary:='---------------------------01myboundary2'; > HttpCli1.ContentTypePost:='multipart/form-data; boundary='+lBoundary; > > Data:=lBoundary+#13#10; > Data:=Data+'Content-Disposition: form-data; > name="FirstName"'#13#10#13#10; > Data:=Data+Trim(FirstNameEdit.Text)+#13#10; > Data:=Data+lBoundary+#13#10; > Data:=Data+'Content-Disposition: form-data; name="LastName"'#13#10#13#10; > Data:=Data+Trim(LastNameEdit.Text)+#13#10; > Data:=Data+lBoundary+#13#10; > Data:=Data+'Content-Disposition: form-data; name="Submit"'#13#10#13#10; > Data:=Data+'Submit'+#13#10; > > > {Data := 'FirstName=' + UrlEncode(Trim(FirstNameEdit.Text)) + '&' + > 'LastName=' + UrlEncode(Trim(LastNameEdit.Text)) + '&' + > 'Submit=Submit';} > HttpCli1.SendStream := TMemoryStream.Create; > HttpCli1.SendStream.Write(Data[1], Length(Data)); > if ffileName<>'' then > Begin > lFs:=TMemoryStream.Create; > lFs.LoadFromFile(fFileName); > Data:=lBoundary+#13#10; > Data:=Data+'Content-Disposition: form-data; name="monfichier"; filename="'+fFileName+'"'+crlf; > Data:=Data+'Content-type: application/zip'+crlf+crlf; > HttpCli1.SendStream.Write(Data[1], Length(Data)); > lFs.SaveToStream(HttpCli1.SendStream); > HttpCli1.SendStream.Write(crlf[1], Length(crlf)); > End; > Data:=lBoundary+'--'+crlf; > HttpCli1.SendStream.Write(Data[1], length(data)); > HttpCli1.SendStream.Seek(0, 0); > HttpCli1.RcvdStream := TMemoryStream.Create; > HttpCli1.URL := Trim(ActionURLEdit.Text); > HttpCli1.PostAsync; > end; > > using the WebServ application, here's what the c:\data.bin file says : > ========DATA======== > Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* > Content-Type: multipart/form-data; > boundary=---------------------------01myboundary2 > User-Agent: Mozilla/4.0 (compatible; ICS) > Host: localhost:8080 > Content-Length: 349 > ---------------------------01myboundary2 > Content-Disposition: form-data; name="FirstName" > > Guillaume > ---------------------------01myboundary2 > Content-Disposition: form-data; name="LastName" > > MAISON > ---------------------------01myboundary2 > Content-Disposition: form-data; name="Submit" > > Submit > ---------------------------01myboundary2-- > ========DATA======== > > using the form mentionned in the webserv demo > here's what firefox sends (according to c:\data.bin): > ========DATA======== > Host: localhost:8080 > User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.7.9) > Gecko/20050713 Firefox/1.0.5 > Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 > Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3 > Accept-Encoding: gzip,deflate > Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 > Keep-Alive: 300 > Connection: keep-alive > Cache-Control: max-age=0 > Content-Type: multipart/form-data; > boundary=---------------------------2921238217421 > Content-Length: 358 > -----------------------------2921238217421 > Content-Disposition: form-data; name="FirstName" > > Guillaume > -----------------------------2921238217421 > Content-Disposition: form-data; name="LastName" > > MAISON > -----------------------------2921238217421 > Content-Disposition: form-data; name="Submit" > > Button > -----------------------------2921238217421-- > ========DATA======== > > everything seems same, except for few more headers sent by firefox... > > well, seems same... but is not... > > when using the very same code (or form) against an apache server with PHP, > i don't have the same result... > with the sample code above, the apache/php server doesn't see any POST data > with firefox it does... > > although i don't see any difference... > > anyone any idea ? > > or any sample code that works ;) ;) > > Guillaume MAISON > ----- > Guillaume MAISON - [EMAIL PROTECTED] > 83, Cours Victor Hugo > 47000 AGEN > Tél : 05 53 87 91 48 - Fax : 05 53 68 73 50 > e-mail : [EMAIL PROTECTED] - Web : http://nauteus.com > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be