Los siguientes caracteres son los únicos que se pueden utilizar en una URL:

[a-zA-Z0-9-._~]

El resto, se deben codificar usando el prefijo % seguido del valor ASCII hexadecimal del carácter. Por ejemplo:

( = %28
) = %29
/ = %2F
+ = %2B
...

Para codificar la URL podemos utilizar la función uri_escape del módulo URI de Perl.

alias urlenc='furlenc() { perl -MURI::Escape -e "print uri_escape(\"$1\").\"\n\";"; }; furlenc'

$ urlenc http://www.google.com
http%3A%2F%2Fwww.google.com

Para la decodificación de la URL, podemos hacer uso de sed:

alias urldec='furldec() { echo "$1" | sed -e'\''s/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g'\'' | xargs echo -e; }; furldec'

$ urldec http%3A%2F%2Fwww.google.com
http://www.google.com

Entradas relacionadas


Published

Category

dev

Tags

Contacto