Analizzatore di query string
name=Ada&city=New%20York&q=hello+world si divide in tre coppie: name Ada, city New York e q hello world. Analizzi una query string in nomi e valori ordinati, oppure ne costruisca una ben codificata dalle sue coppie. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Le query string di un URL trasportano filtri, tag di campagna, paginazione e campi di modulo dopo il punto interrogativo di un indirizzo. Leggerle a mano è soggetto a errori: gli spazi possono apparire come segni più o come percent-twenty, le e commerciali separano i campi, l'uguale separa i nomi dai valori, e un escape percentuale rotto può corrompere un'intera riga di log. Questo analizzatore di query string converte in entrambe le direzioni con un unico contratto. La modalità parse accetta una query grezza (con o senza punto interrogativo iniziale), decodifica ogni chiave e valore e restituisce un elenco ordinato di coppie più una mappa oggetto semplice per le chiavi uniche. La modalità serialize accetta le stesse coppie o una mappa oggetto piatta ed emette una query string correttamente codificata in percentuale, pronta da appendere dopo un percorso.
Come le query string codificano le coppie chiave-valore
Un frammento di query tipico assomiglia a name equals Ada ampersand city equals New percent-twenty York. L'e commerciale è il separatore di campi; il primo uguale in ogni campo separa il nome del parametro dal suo valore. I valori (e a volte i nomi) sono codificati in percentuale affinché spazi, e commerciali, lettere non ASCII e caratteri riservati sopravvivano al transito attraverso browser, proxy e strumenti di analytics.
Molti server trattano anche un più nudo come spazio secondo le regole application/x-www-form-urlencoded dei form HTML; questa capacità lo fa di default in analisi, e Lei può disattivarlo se serve un più letterale. I campi vuoti da e commerciali finali o raddoppiate vengono saltati per non inventare chiavi fantasma vuote. Un parametro senza segno uguale è trattato come chiave con valore stringa vuota, come nelle librerie server comuni.
Quando la stessa chiave compare più di una volta, ogni occorrenza resta nell'elenco ordinato di coppie per non perdere filtri multi-selezione né tag ripetuti; la mappa oggetto compagna usa last-wins così i client semplici ottengono ancora un dizionario piatto. La codifica usa encodeURIComponent su ogni chiave e valore affinché i separatori riservati non filtrino nella stringa assemblata.
Dove un analizzatore di query string dimostra il suo valore
I servizi backend che registrano le richieste in ingresso hanno bisogno di un modo affidabile per trasformare la parte di ricerca di un URL in campi strutturati per metriche e strumenti di supporto, senza scrivere uno splitter improvvisato che gestisca male i segni più o l'Unicode. Le app frontend che ricostruiscono chip di filtro dalla search della location corrente hanno bisogno di coppie ordinate affinché le faccette multi-valore sopravvivano a un ciclo encode e decode.
I team di supporto incollano link mezzo codificati dai ticket e hanno bisogno di un decodificatore che fallisca chiaramente su escape troncati invece di inventare caratteri. Gli autori di curricula che insegnano le basi del web vogliono una landing dedicata a leggere e scrivere parametri di query piuttosto che seppellire l'argomento sotto un codificatore percentuale generico o un costruttore UTM, perché l'intento di ricerca differisce: chi cerca un analizzatore di query string vuole struttura, non solo escape di caratteri. La validazione fallita non consuma saldo.
Mantenga le richieste entro i limiti di lunghezza documentati, fissi le coppie ordinate nei test e otterrà mappe di parametri riproducibili per dashboard, plugin LMS e worker di edge senza montare un kit URL completo per conto proprio.
Casi d'uso
Ispezionare i parametri URL in ingresso
Analizzi le query string delle richieste in coppie chiave-valore ordinate per log, supporto e analytics senza maltrattare segni più o escape percentuali.
Costruire query string in uscita sicure
Serializzi filtri, tag e campi di modulo in una query string correttamente codificata in percentuale affinché i caratteri riservati non inventino parametri extra.
Domande frequenti
Come si analizza una query string URL in coppie chiave-valore?
Imposti mode su parse (o lo ometta) e invii text con il frammento di query, con o senza ?
Come si serializzano le coppie di nuovo in una query string?
La risposta include encoded (e query) con ogni nome e valore codificati in percentuale e uniti da &.
Il segno più viene letto come spazio?
Sì, per impostazione predefinita, perché i moduli web inviano gli spazi come segni più: hello+world diventa hello world. Può disattivarlo quando le serve un segno più letterale.
Cosa succede se lo stesso nome compare due volte?
Tutte le occorrenze vengono conservate, in ordine, così filtri a scelta multipla e tag ripetuti non si perdono. La vista semplice nome-valore tiene solo l'ultimo valore di ogni nome.
Cosa succede con una sequenza percentuale rotta?
L'analisi si ferma con un messaggio che indica dove si trova il problema. Un segno di percentuale isolato alla fine, o seguito da caratteri non esadecimali, viene rifiutato invece di essere decodificato a metà.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/query-string \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"parse","op":"parse"}'const res = await fetch("https://api.kit.forhosting.com/enc/query-string", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "parse",
"op": "parse"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/query-string",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "parse",
"op": "parse"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/query-string", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"parse","op":"parse"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"parse","op":"parse"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/query-string", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"mode": "parse",
"op": "parse"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.query_string",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Le sequenze percentuali malformate falliscono con invalid_input invece di spazzatura a metà.
Come le query string codificano le coppie chiave-valore
La decodifica valida ogni sequenza percentuale prima del decode sull'host: un percentuale finale isolato o cifre non esadecimali dopo un percentuale sollevano invalid_input con un messaggio consapevole della posizione. Il percorso è lavoro puro su stringhe senza rete, senza semi casuali e senza timestamp di orologio, così input identici producono sempre lo stesso JSON. Il prezzo API delle chiamate riuscite è la base pubblicata di $0.002 per elemento, e i fallimenti di validazione non consumano il saldo prepagato.
Contratto di input, forma della risposta e comportamento di errore
I fallimenti di validazione non consumano il saldo prepagato. Controlli classici includono l'analisi di name equals Ada ampersand city equals New percent-twenty York, la serializzazione di coppie con spazi e e commerciali, e il rifiuto di un valore che termina con un percentuale nudo. Invii un corpo JSON con mode impostato su parse o serialize. Per parse, fornisca text (alias query, query_string, qs) con il frammento di query. Un punto interrogativo iniziale opzionale viene rimosso; un frammento hash dopo la query viene ignorato così incollare una ricerca completa dal browser funziona ancora. plus_as_space opzionale vale true di default per la conversione più-in-spazio form-urlencoded. In caso di successo, parse restituisce mode, plus_as_space, il text originale, una vista query normalizzata, pairs come array di stringhe key e value in ordine, object come mappa last-wins delle chiavi uniche, count come numero di coppie, e encoded come stringa ri-serializzata da quelle coppie per confrontare andata e ritorno. Per serialize, fornisca pairs come array di oggetti con campi key e value o come mappa oggetto piatta. In caso di successo, serialize restituisce mode, plus_as_space, i pairs normalizzati, object, count, encoded e query (la stessa stringa codificata senza punto interrogativo iniziale). Text mancante in modalità parse, pairs mancanti in modalità serialize, valori di mode non supportati, oggetti annidati in una mappa, stringhe troppo lunghe e sequenze percentuali malformate falliscono con invalid_input e un messaggio chiaro in inglese. Il prezzo API in successo è la base pubblicata di $0.002 per elemento.
Dove un analizzatore di query string dimostra il suo valore
Poiché l'implementazione è parse puro di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita.
Casi di integrazione
Test di andata e ritorno e fixture
Generi vettori golden di parse e serialize per la CI affinché chiavi multi-valore e valori Unicode restino stabili tra runtime.
Domande tecniche
I segni più sono trattati come spazi?
Sì di default in analisi (application/x-www-form-urlencoded). Imposti plus_as_space su false se deve conservare il + letterale prima della decodifica percentuale.
Cosa succede se una sequenza percentuale è malformata?
Il parse fallisce con invalid_input, nominando il parametro e l'escape errato (ad esempio un % incompleto o cifre non esadecimali). I fallimenti di validazione non vengono addebitati.
Quanto costa l'analizzatore di query string?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.