ForHosting KIT · Veille et lecture de sites web

Analyser une requête URL en objet clé-valeur

Cet analyseur transforme une URL absolue complète ou une chaîne de requête brute en objet structuré de clés et de valeurs.

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

Il décode les séquences en pourcentage et les signes plus des formulaires, conserve les valeurs vides et regroupe les paramètres répétés dans des listes, dans leur ordre d’origine. Les séquences mal formées et l’UTF-8 invalide provoquent une erreur explicite plutôt qu’un remplacement silencieux. Vous pouvez examiner un lien dans le navigateur ou appeler l’API déterministe au tarif de $0.002 par élément depuis vos applications, tests et traitements d’importation.

Choisissez la forme d’entrée adaptée à votre source

Vous pouvez fournir une URL absolue complète, telle que <code>https://example.com/search?q=red+shoes</code>, une requête brute comme <code>q=red+shoes&amp;page=2</code>, ou cette même requête précédée d’un point d’interrogation. Pour une URL absolue, seul le composant de requête est analysé : le schéma, l’autorité, le chemin et le fragment ne deviennent pas des champs. Une URL sans requête produit un objet de paramètres vide. Une entrée brute est entièrement considérée comme une requête après le retrait éventuel du point d’interrogation initial. Ce format convient lorsqu’un framework, un journal d’accès, un webhook ou une API de navigateur a déjà séparé la requête du reste de l’adresse. Chaque esperluette ouvre une nouvelle paire, tandis que le premier signe égal sépare le nom de sa valeur. Un nom sans signe égal est conservé avec une valeur vide, tout comme une affectation explicitement vide. Les segments vides entre deux esperluettes consécutives sont ignorés. Le résultat indique également le nombre de clés distinctes et de paires analysées : vous repérez ainsi les champs répétés sans recompter vous-même les propriétés de l’objet.

Comprenez le décodage et les clés répétées

Les noms et les valeurs sont décodés séparément selon les conventions habituellement appliquées aux formulaires dans les requêtes URL. Un signe plus devient une espace, tandis que les séquences <code>%HH</code> sont interprétées comme des octets UTF-8. Ainsi, <code>city=San+Jos%C3%A9</code> produit un texte Unicode lisible et un séparateur encodé comme <code>%26</code> reste dans une seule valeur au lieu d’ouvrir un nouveau champ. Le décodage n’a lieu qu’une fois : <code>%2520</code> donne <code>%20</code>, et non une espace. Lorsqu’une clé n’apparaît qu’une fois, sa valeur est une chaîne. Dès que la même clé décodée réapparaît, sa valeur devient une liste contenant toutes les occurrences dans l’ordre de la source. Cette règle représente les groupes de cases à cocher, filtres, étiquettes et autres sélections multiples sans perdre d’information ni inventer des propriétés numérotées. La répétition est déterminée après décodage : deux graphies encodées équivalentes d’un même nom sont donc regroupées. Les valeurs vides répétées sont elles aussi conservées. L’analyseur ne déduit ni booléens, ni nombres, ni dates et ne transforme pas la notation entre crochets en objets imbriqués. Toutes les valeurs simples restent des chaînes afin que votre code applique ensuite sa propre conversion métier en connaissance de cause.

Bloquez les données corrompues avant leur traitement

Les analyseurs permissifs peuvent conserver un signe de pourcentage isolé, accepter une séquence d’un seul chiffre ou insérer un caractère de remplacement lorsque les octets encodés ne constituent pas un UTF-8 valide. Des identifiants endommagés semblent alors exploitables et des divergences difficiles à diagnostiquer apparaissent entre navigateur, serveur et procédure de vérification de signature. Cette capacité exige que chaque signe de pourcentage soit suivi d’exactement deux chiffres hexadécimaux, puis vérifie que chaque suite d’octets décodée forme un UTF-8 valide. Si l’une de ces conditions échoue, la requête renvoie une erreur d’entrée invalide plutôt qu’un objet partiel. L’analyse est pure et déterministe : aucun accès réseau, aucune redirection, aucune lecture de l’horloge, aucun aléa et aucun état conservé entre les appels. Considérez les chaînes obtenues comme des données, et non comme du HTML, du code, un chemin de fichier ou une expression de base de données fiable. Le décodage restitue les caractères, mais ne sécurise pas leur destination. Pour l’automatisation, l’API coûte $0.002 par élément et fournit une étape de normalisation stable avant validation, routage, comparaison ou stockage. Dans le navigateur, vous pouvez inspecter rapidement un lien copié sans contacter sa destination.

Examiner une URL copiée

Transformez une longue URL de recherche, de campagne ou de rappel en champs lisibles sans ouvrir ni contacter sa destination.

Normaliser les données d’un webhook

Analysez une requête brute avant la validation propre à votre application tout en conservant chaque valeur répétée.

Créer des jeux d’essai déterministes

Vérifiez précisément le décodage, les valeurs vides et les clés répétées dans les tests et traitements d’importation.

Combien coûte une requête API ?

Chaque élément analysé coûte $0.002 via l’API. L’outil interactif du navigateur emploie la même logique déterministe.

Que se passe-t-il lorsqu’une clé apparaît plusieurs fois ?

Une occurrence unique donne une chaîne. En cas de répétition, la valeur devient une liste de toutes les occurrences dans leur ordre d’origine.

Les signes plus sont-ils convertis en espaces ?

Oui. Dans l’encodage courant des formulaires, le signe plus représente une espace. Utilisez %2B pour conserver un signe plus littéral.

L’analyseur déduit-il les nombres ou les booléens ?

Non. Toute valeur simple reste une chaîne, y compris le texte vide, les nombres et true ou false. Effectuez ensuite la conversion selon votre schéma.

Quelles erreurs d’encodage en pourcentage sont refusées ?

L’analyseur refuse un signe de pourcentage sans deux chiffres hexadécimaux et les octets qui ne constituent pas un UTF-8 valide.

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/query-string-parse

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/query-string-parse \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"https://example.com/search?q=red+shoes&tag=sale&tag=new&empty="}'
{
  "text": "https://example.com/search?q=red+shoes&tag=sale&tag=new&empty="
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.query_string_parse",
  "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 →