ForHosting KIT · Veille et lecture de sites web

Encoder et décoder une URL

Cet outil transforme un texte Unicode en encodage pour cent conforme à RFC 3986, puis restitue le texte lisible d’une valeur valide.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Choisissez l’encodage pour transporter une donnée comme composant d’URL, ou le décodage pour examiner des journaux, redirections, requêtes et liens copiés. L’opération est déterministe, sans état, et refuse les séquences incorrectes au lieu de produire un résultat trompeur. Vous pouvez l’exécuter dans le navigateur ou obtenir le même comportement par l’API pour $0.002 par élément.

Quand appliquer l’encodage en pourcentage

Les URL réservent des caractères à leur structure : les barres séparent les segments, le point d’interrogation ouvre la requête, les esperluettes séparent les paramètres, le signe égal distingue noms et valeurs, et le dièse introduit un fragment. Lorsqu’un tel caractère appartient à la donnée, il ne doit pas être confondu avec cette structure. L’encodage convertit l’entrée en UTF-8 et représente chaque octet qui ne correspond pas à un caractère non réservé par un signe pour cent suivi de deux chiffres hexadécimaux. Lettres, chiffres, traits d’union, points, tirets bas et tildes restent lisibles. Les espaces deviennent <code>%20</code>, jamais un signe plus. La ponctuation réservée est échappée, car l’entrée constitue une valeur et non une URL entière. Encodez uniquement le composant à insérer ; encoder une adresse déjà assemblée masquerait également ses séparateurs structurels.

Pourquoi le décodage strict protège vos données

Le décodeur examine toute l’entrée avant de rendre une valeur. Chaque signe pour cent doit précéder exactement deux chiffres hexadécimaux ; <code>%</code>, <code>%2</code> et <code>%GG</code> provoquent donc une erreur. Les octets échappés doivent ensuite former un texte UTF-8 valide. Une séquence apparemment plausible peut être corrompue, et accepter un caractère de remplacement cacherait ce défaut dans un journal, un rappel ou un jeu importé. L’outil signale donc l’erreur. Il ne transforme pas le signe plus en espace : cette règle relève des formulaires HTML, tandis qu’ici RFC 3986 s’applique. Une seule passe est effectuée. Ainsi, <code>%2520</code> devient <code>%20</code>, et non une espace. Demandez explicitement une seconde passe afin d’éviter tout double décodage accidentel.

Employer le résultat sans risque

Choisissez consciemment le mode et transmettez la chaîne exacte représentant une seule valeur logique. Après encodage, n’appliquez pas un autre encodeur : un second passage transforme chaque pourcentage en <code>%25</code>. Après décodage, considérez le texte comme une donnée, jamais comme un balisage fiable, un chemin ou une instruction. Retrouver les caractères ne valide pas leur sens pour la destination suivante. Cette distinction compte pour les paramètres de rappel, les journaux, la normalisation de liens et les identifiants. L’algorithme n’utilise ni réseau, ni hasard, ni horloge, ni état conservé ; les mêmes entrées donnent les mêmes sorties. Le navigateur convient au diagnostic ponctuel, tandis que l’API automatise les contrôles dans les tests et traitements. Chaque élément coûte $0.002 par l’API.

Préparer un paramètre de requête

Encodez une saisie afin que les espaces, esperluettes, caractères Unicode et signes réservés restent dans une seule valeur.

Lire des journaux encodés

Décodez un chemin ou un paramètre capturé pour retrouver son contenu et détecter les échappements endommagés.

Tester une intégration

Créez des données stables et vérifiez que rappels, redirections et traitements décodent exactement une couche RFC 3986.

Quel est le prix d’une requête API ?

Chaque élément coûte $0.002 par l’API. L’exécution interactive est disponible sur la page.

Les barres et points d’interrogation sont-ils conservés ?

Non. L’entrée forme une valeur unique ; la ponctuation réservée est donc également encodée.

Les espaces deviennent-ils des signes plus ?

Non. RFC 3986 représente une espace par %20 ; la conversion du signe plus appartient aux formulaires HTML.

Que devient un échappement incorrect ?

Le décodage renvoie une erreur si l’échappement est incomplet, non hexadécimal ou ne forme pas du UTF-8 valide.

L’outil décode-t-il plusieurs fois ?

Non. Chaque requête effectue une passe afin d’éviter un double décodage caché ; répétez-la seulement volontairement.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/web/url-encode-decode

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/web/url-encode-decode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello world/café?x=1","mode":"encode"}'
{
  "text": "hello world/café?x=1",
  "mode": "encode"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.url_encode_decode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

timeout_sec30
max_crawl_pages25
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →