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