Page 1 sur 1
Bug avec URLEncoder()
Publié : ven. 14/avr./2017 15:54
par celtic88
il ya des caractères illégaux qui sont renvoyé par cette fonction..
pour tester
http://meyerweb.com/eric/tools/dencoder/
Re: Bug avec URLEncoder()
Publié : ven. 14/avr./2017 16:06
par celtic88
alternatif....
Code : Tout sélectionner
Procedure.s URLEncoder_Fix(URL$ ,Format.l=#PB_UTF8)
Protected *StringToBuf
If Format = #PB_Ascii
*StringToBuf=Ascii(URL$)
Else
*StringToBuf=UTF8(URL$)
EndIf
If Not *StringToBuf:ProcedureReturn "":EndIf
Protected iReturnUrl.s,Pos.l,Asc.c
For Pos=0 To MemorySize(*StringToBuf)-2
Asc=PeekA(*StringToBuf+Pos)
Select Asc
Case 48 To 57, 65 To 90, 97 To 122 ;0 to 9, A to Z , a to z
iReturnUrl + Chr(Asc)
Case 32 ; "Space"
iReturnUrl + "%20"
Default; "every character except 0-9, A-Z and a-z requires conversion"
iReturnUrl + "%" + Hex(Asc,#PB_Byte)
EndSelect
Next
FreeMemory(*StringToBuf)
ProcedureReturn iReturnUrl
EndProcedure
Debug URLEncoder_Fix("&!#")
Debug URLEncoder("&!#") ; = &!#
Re: Bug avec URLEncoder()
Publié : ven. 14/avr./2017 16:31
par Marc56
celtic88 a écrit :il ya des caractères illégaux qui sont renvoyé par cette fonction..
Je pense que la fonction PB est programmée comme cela pour permettre le passage de paramètres par URL (& #)
Donc l'interprétation par le serveur.
Autres: ; / ? : @ & = + $ , - _ . ! ~ * ' ( )
Si je fais un encodage PB d'une URL avec balise
(ex: sur mon site: balise en milieu de page)
Avec PB c'est OK, il laisse bien les balises serveur
http://md.acme.software.free.fr/acmedesk.php#version_us
Mais encodage strict:
[url]http://md.acme.software.free.fr%2facmedesk.php%23version_us/[/url]
