Yes I know, but I'm meaning if we need to process an unknown URL entered by 
user. May be we need a general URL encoder, capable to parse and encode each 
part if necessary in a correct way.

thanks,
David


----- Original Message ----- 
From: "Francois PIETTE" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Sunday, February 12, 2006 2:20 PM
Subject: Re: [twsocket] Encode URL


>I don't understand why you need such complex code for doing such simple 
>task
> as building an url !
> It's just a matter of a few string concatenation and calling UrlEncode for
> the parameters.
>
> HttpCli1.URL := 'http://' + MyHostVar + '/' + MyPathVar + '?' +
>                           'ParamName1=' + UrlEncode(MyParamVar1) + '&' +
>                           'ParamName2=' + UrlEncode(MyParamVar2) + '&' +
>                           'ParamName3=' + UrlEncode(MyParamVar3);
> --
> [EMAIL PROTECTED]
> http://www.overbyte.be
>
> ----- Original Message ----- 
> From: "David A. G." <[EMAIL PROTECTED]>
> To: "ICS support mailing" <twsocket@elists.org>
> Sent: Sunday, February 12, 2006 5:42 PM
> Subject: Re: [twsocket] Encode URL
>
>
>> Thanks DZ-Jay. I think we need to add a more complete function, ..just
>> what
>> to do if we need to encode (correctly) a full URL to use with HttpCli?
>> ...It
>> was my problem the last week!!
>>
>> I have "hijacked", converted and shared a full URL encoder from
>> Indy10.0.52
>> http://www.mcrenox.com.ar/uri.pas
>>
>> enjoy!
>>
>> David
>>
>>
>>
>> ----- Original Message ----- 
>> From: "DZ-Jay" <[EMAIL PROTECTED]>
>> To: "ICS support mailing" <twsocket@elists.org>
>> Sent: Sunday, February 12, 2006 11:13 AM
>> Subject: Re: [twsocket] Encode URL
>>
>>
>>> Hello:
>>> The UrlEncode function is to encode strings to be included in URLs, by
>>> escaping any invalid characters, not to encode complete URLs.  You can
>>> encode a complete URL, for example, when you want to send that URL as a
>>> parameter in the QueryString, but this is not what you want to do:
>>>
>>> http://www.foo.com/bar.cgi?
>>> url=http%3A%2F%2Fuser%3Apass%40www%2Esite%2Ecom%3A80%2Ffol%201%2Ffol%202
>>> %2Ffile%201%2Ejpg%3Fpar%3D1%23name
>>>
>>> What you must do in your case, is to encode each part that potentially
>>> contains invalid characters, for example, directory or file names, or
>>> parameter names and values.  You want to encode them individually,
>>> otherwise valid characters, such as '/' in paths and '=' or '&' in
>>> parameters, will be wrongly encoded.  For example:
>>>
>>> url    := 'http://'+user+':'+pass+'@'+site+':'+port;
>>> newurl := url
>>> + '/' + UrlEncode(folder1)
>>> + '/' + UrlEncode(folder2)
>>> + '/' + UrlEncode(filename)
>>> + '?' + UrlEncode(key[1]) + '=' + UrlEncode(value[1])
>>> + '&' + UrlEncode(key[2]) + '=' + UrlEncode(value[2]);
>>>
>>> // Add the anchor
>>> If Anchor <> '' Then
>>> newUrl := newUrl + '#' + Anchor;
>>> End
>>>
>>> On Feb 10, 2006, at 17:46, David A. G. wrote:
>>>
>>>> Hello all
>>>>
>>>> I'm trying an HTTP-Get software but I found that UrlEncode (from
>>>> IcsUrl.pas)
>>>> is not working according the protocol.
>>>>
>>>> UrlEncode simply encodes all the URL without taking care of (parse)
>>>> Protocol, Folders, File and Data.
>>>>
>>>> Example:
>>>>
>>>> http : // user:[EMAIL PROTECTED] site .com:80/fol 1/fol 2/file 
>>>> 1.jpg?par=1#name
>>>>
>>>> This URL must be encoded as:
>>>>
>>>> http : // www. site .com/fol%201/fol%202/file%201.jpg?par=1
>>>>
>>>> but UrlEncode just makes:
>>>>
>>>> http%3A%2F%2Fuser%3Apass%40www%2Esite%2Ecom%3A80%2Ffol%201%2Ffol%202%2F
>>>> file%201%2Ejpg%3Fpar%3D1%23name
>>>>
>>>> Obviously I cannot use the URL without encoding,  but I cannot use the
>>>> encode function provided.
>>>>
>>>> Any idea?
>>>> Thanks,
>>>>
>>>> David
>>>>
>>>> -- 
>>>> 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
>>
>> -- 
>> 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 

-- 
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