> 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

Reply via email to