Trurl, un outil super pratique pour manipuler les URL

 

Aujourd’hui, je vais vous causer d’un petit outil bien pratique qui va vous changer la vie (je sais, j’abuse jamais) : trurl !

Alors c’est quoi trurl ? Ben c’est juste un programme en ligne de commande, inspiré de notre bon vieux pote tr, qui permet de parser et manipuler les URL. Ça a l’air tout bête dit comme ça, mais je peux vous dire que c’est super pratique et vachement puissant.

Parce que les URL, c’est pas toujours facile à gérer. Entre les caractères spéciaux, les encodages, les paramètres de requête, les fragments, y a de quoi s’arracher les cheveux. Et puis mal implémenté, ça peut apporter son lot de failles de sécurité si on n’y fait pas gaffe. Mais avec trurl, pas de prise de tête ! Il utilise le parser d’URL de la librairie libcurl, qui est hyper robuste et éprouvé, du coup, vous pouvez manipuler vos URL en toute sérénité.

Rien qu’avec une petite commande toute simple, vous pouvez par exemple :

Changer le nom de domaine d’une URL

Modifier le port

Extraire le chemin

Ajouter des paramètres de requête

Trier les paramètres par ordre alphabétique

Supprimer certains paramètres

Encoder/décoder des caractères spéciaux

Reformater l’URL en JSON

Et plein d’autres trucs !

Genre si je veux changer le nom de domaine d’une URL, je fais juste :

trurl –url https://korben.info –set host=example.com
https://example.com/

Et bim, c’est fait ! Fastoche non ? Plus besoin de se taper des RegEx de 3km de long ou de réinventer la roue à chaque fois.

Ce que j’aime bien aussi, c’est qu’on peut utiliser trurl de façon interactive en lui passant les URL au fur et à mesure, ou bien traiter tout un fichier d’URL d’un coup. Il gère même les espaces et autres caractères spéciaux sans broncher.

Par exemple, pour ajouter un paramètre à une URL existante :

trurl –url “https://example.com?param1=value1” –add-query “param2=value2”
https://example.com?param1=value1&param2=value2

Ou encore, pour supprimer un paramètre spécifique :

trurl –url “https://example.com?param1=value1&param2=value2” –remove-query “param1”
https://example.com?param2=value2

Côté installation, c’est méga simple aussi. Sur la plupart des distros Linux, vous devriez pouvoir l’installer direct depuis votre gestionnaire de paquets préféré. Sinon, les sources sont dispos sur GitHub.

Ça m’a permis de virer des tonnes de code crado bricolé à la main dans des scripts et de le remplacer par des commandes trurl bien propres. Par exemple, j’avais un script qui devait récupérer le flux RSS d’un site, filtrer certains paramètres de l’URL et ajouter un tracker pour les stats. Avant je faisais ça avec des RegEx et des concaténations dégueulasses, maintenant, en quelques commandes trurl, c’est réglé !

curl “https://example.com/feed.xml” | trurl –query-sort –query-exclude “utm_*” –add-query “tracker_id=korben”

Attention quand même, trurl a quelques limitations à connaître. Par exemple, il ne gère pas les redirections tout seul, faudra passer par curl si besoin. Et pour certains cas tordus avec des caractères exotiques, il pourrait y avoir des surprises. Donc prudence, pensez à toujours tester avant de balancer en prod !

Sinon astuce bonus, trurl a une option –accept-space bien pratique quand vos URL contiennent des espaces. Et le –sort-query est top pour remettre de l’ordre dans vos paramètres.

A demain !

 Read More

Laissez un commentaire


Cliquez à l'extérieur pour masquer la barre de comparaison
Comparer
Fermer
Recherche
Catégories de produits
Compatible Windows 11
Fabriquant
Mémoire vive
Port HDMI
Port VGA
DisplayPort
Ethernet
Port USB 3.1 Type C
Lecteur Optique
Chipset graphique intégré
Carte Graphique