Re: [twsocket] THttpCli POST issue with v7 Commit 317

2009-04-16 Thread Arno Garrels
Peter Van Hove wrote:
 The Problem:
 On the receiving end (webpage) the the POST variable doesn't arrive
 intact. Only the first letter.  In this example case only t
 arrives (so t = test instead of test = test
 As suggested, the value arrives intact (in this case test)
 
 It's no bug. The component user is responsible to format
 posted data properly.
 
 Most likely you have to convert the Unicode string to Ansi or
 UTF-8 first.
 
 Interesting !!!
 So POST and GET data, when sent to a host, are not unicode ?

They are not sent as UTF-16 Unicode, correct. 

 And so what I provide to the component when I do a GET, in unicode, is
 converted in the component to something else (UTF 8 ?) 

Yes, in V7 a GET request is converted to UTF-8 first the URL-encoded,
so the component user must not care about the encoding (see functions
UrlEncode/UrlDecode in OverbyteIcsUrl.pas), in V5 and V6 the AnsiString
with current system code page was URL-encoded as is.

With POST requests however the send stream is sent as is and the 
component user is responsible to format and encode the stream content 
properly. Posted data may, for example, contain multple parts all with
a different Charset and Content-Transfer-Encoding part-header.  

--
Arno Garrels

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] THttpCli POST issue with v7 Commit 317

2009-04-15 Thread Peter Van Hove
 The Problem:
 On the receiving end (webpage) the the POST variable doesn't arrive
 intact. Only the first letter.  In this example case only t arrives
 (so t = test instead of test = test
 As suggested, the value arrives intact (in this case test)

 It's no bug. The component user is responsible to format
 posted data properly.

 Most likely you have to convert the Unicode string to Ansi or
 UTF-8 first.

Interesting !!!
So POST and GET data, when sent to a host, are not unicode ?
And so what I provide to the component when I do a GET, in unicode, is 
converted in the component to something else (UTF 8 ?) before it's sent out 
?

Ok, I will do a conversion and test again.
Thanks. 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] THttpCli POST issue with v7 Commit 317

2009-04-14 Thread Arno Garrels
Peter Van Hove wrote:
 Can somebody confirm, possibly fix if it's an issue ?

It's no bug. The component user is responsible to format
posted data properly.  

 
 The Problem:
 On the receiving end (webpage) the the POST variable doesn't arrive
 intact. Only the first letter.  In this example case only t arrives
 (so t = test instead of test = test
 As suggested, the value arrives intact (in this case test)
 
 The essence I believe is the following
 
 {code}
 
 String PostData = test=test ;
 
 THttpCli *HttpCli;
 TMemoryStream *DataOut=NULL;
  DataOut=new TMemoryStream;
  #ifdef _DELPHI_STRING_UNICODE
  DataOut-Write(PostData[1], PostData.Length()*2);  // CB2009

Most likely you have to convert the Unicode string to Ansi or
UTF-8 first.

--
Arno Garrels
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be