Page 1 of 1
url encoder/decoder
Posted: Thu Mar 03, 2016 9:50 am
by MarcoBoschi
Dear friends,
I need a function to encode decode url
http%3A%2F%2F127.0.0.1 <<<< >>>>> http://127.0.0.1Where Can I find it?
Many thanks
Marco
Re: url encoder/decoder
Posted: Thu Mar 03, 2016 10:30 am
by Carlos Mora
In our best friend Harbour!
HB_URLENCODE()
HB_URLDECODE()
It happen that I am using a _very_ old version of Harbour in a legacy project, so I had to write my own funcs:
Code: Select all | Expand
#define URL_CODE { '%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D' }
#define URL_CHAR { '!' , '*' , "'" , "(" , ")" , ";" , ":" , "@" , "&" , "=" , "+" , "$" , "," , "/" , "?" , "%" , "#" , "[" , "]" }
FUNCTION urlencode( cString )
LOCAL cResult, i, nAt, Ch
cResult:= ''
FOR i:= 1 To LEN( cString )
IF ( nAT := aScan( URL_CHAR, Ch:= SubStr( cString, i, 1 ) ) ) > 0
cResult+= URL_CODE[ nAt ]
ELSE
cResult+= Ch
ENDIF
NEXT
RETURN cResult
FUNCTION urldecode( cString )
LOCAL cResult, i, nAt, cH
cResult:= ''
FOR i:= 1 To LEN( cString )
IF ( nAT := aScan( URL_CODE, Ch:= SubStr( cString, i, 3 ) ) ) > 0
cResult+= URL_CHAR[ nAt ]
i+= 2
ELSE
cResult+= Left( Ch, 1 )
ENDIF
NEXT
RETURN cResult
Best regards
Re: url encoder/decoder
Posted: Thu Mar 03, 2016 11:04 am
by MarcoBoschi
Many Thanks
Marco
Re: url encoder/decoder (Still Up to date ?)
Posted: Sat Apr 15, 2017 9:40 am
by Marc Venken
Hello,
It seems that there are encode functions like :
HB_URLENCODE()
HB_URLDECODE()
I the older post above they say that Harbour is older (to old??) and there is a alternatif function written.
I need to use these functions, but anno 04/2017 : witch one do you prefer ?
Marc
Re: url encoder/decoder
Posted: Sat Apr 15, 2017 7:02 pm
by Carlos Mora
Hi Marc,
the native Harbour ones, without any doubt! The are updated with the rtl, written in C so the are _faster_. I posted the old ones just in case, for really old projects it may be useful.
Best regards
Re: url encoder/decoder
Posted: Mon Sep 30, 2024 2:56 pm
by Horizon
Carlos Mora wrote:Hi Marc,
the native Harbour ones, without any doubt! The are updated with the rtl, written in C so the are _faster_. I posted the old ones just in case, for really old projects it may be useful.
Best regards
Hi,
Is there any library to add my mak file.
It says,
Code: Select all | Expand
Portal_UYAP.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_URLENCODE
Thanks.
Re: url encoder/decoder
Posted: Mon Sep 30, 2024 3:02 pm
by karinha