ForHosting KIT · Ferramentas para dev

Analisador de query string

name=Ada&city=New%20York&q=hello+world vira três pares: name Ada, city New York e q hello world. Analise uma query string em nomes e valores ordenados ou monte uma bem codificada a partir dos seus pares. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.

As query strings de uma URL transportam filtros, tags de campanha, paginação e campos de formulário depois do ponto de interrogação de um endereço. Lê-las à mão é propenso a erros: espaços podem aparecer como sinais de mais ou como percent-twenty, ampersands separam campos, o igual separa nomes de valores, e um escape percentual quebrado pode corromper uma linha inteira de log. Este analisador de query string converte nas duas direções com um único contrato. O modo parse aceita uma consulta bruta (com ou sem ponto de interrogação inicial), decodifica cada chave e valor e devolve uma lista ordenada de pares mais um mapa de objeto simples para chaves únicas. O modo serialize aceita os mesmos pares ou um mapa de objeto simples e emite uma query string corretamente codificada em porcentagem, pronta para anexar após um caminho.

Como as query strings codificam pares chave-valor

Um fragmento de consulta típico parece name equals Ada ampersand city equals New percent-twenty York. O ampersand é o separador de campos; o primeiro igual em cada campo separa o nome do parâmetro do seu valor. Valores (e às vezes nomes) são codificados em porcentagem para que espaços, ampersands, letras não ASCII e caracteres reservados sobrevivam ao trânsito por navegadores, proxies e ferramentas de analytics.

Muitos servidores também tratam um mais isolado como espaço sob as regras application/x-www-form-urlencoded dos formulários HTML; esta capacidade faz isso por padrão ao analisar, e você pode desativar se precisar de um mais literal. Campos vazios de ampersands finais ou duplicados são ignorados para não inventar chaves fantasma vazias. Um parâmetro sem sinal de igual é tratado como chave com valor de string vazia, como nas bibliotecas de servidor comuns.

Quando a mesma chave aparece mais de uma vez, cada ocorrência fica na lista ordenada de pares para não perder filtros multi-seleção nem tags repetidas; o mapa de objeto companheiro usa last-wins para que clientes simples ainda obtenham um dicionário plano. A codificação usa encodeURIComponent em cada chave e valor para que separadores reservados nunca vazem na string montada.

Onde um analisador de query string mostra o seu valor

Serviços de backend que registram requisições de entrada precisam de uma forma confiável de transformar a parte de busca de uma URL em campos estruturados para métricas e ferramentas de suporte, sem escrever um divisor improvisado que falhe com sinais de mais ou Unicode. Aplicações frontend que reconstroem chips de filtro a partir do search da localização atual precisam de pares ordenados para que facetas multi-valor sobrevivam a um ciclo de encode e decode.

Pipelines de QA e CI comparam vetores de consulta dourados entre Node e navegadores para que um espaço seja sempre percent-twenty no encode e um mais em entrada estilo formulário continue sendo espaço no parse. Equipes de suporte colam links meio codificados de tickets e precisam de um decodificador que falhe de forma clara em escapes truncados em vez de inventar caracteres.

Autores de currículo que ensinam fundamentos da web querem uma landing dedicada a ler e escrever parâmetros de consulta, em vez de enterrar o tema sob um codificador percentual genérico ou um montador UTM, porque a intenção de busca difere: quem procura um analisador de query string quer estrutura, não só escape de caracteres. Validação falha não consome saldo.

Mantenha as requisições dentro dos limites de comprimento documentados, fixe os pares ordenados nos testes e você obterá mapas de parâmetros reproduzíveis para dashboards, plugins LMS e workers de borda sem montar um kit completo de URL por conta própria.

Inspecionar parâmetros de URL de entrada

Analise query strings de requisições em pares chave-valor ordenados para logs, suporte e analytics sem tratar mal sinais de mais ou escapes percentuais.

Montar query strings de saída seguras

Serialize filtros, tags e campos de formulário em uma query string corretamente codificada em porcentagem para que caracteres reservados nunca inventem parâmetros extras.

Como faço para analisar uma query string de URL em pares chave-valor?

Defina mode como parse (ou omita) e envie text com o fragmento de consulta, com ou sem ?

Como serializo pares de volta em uma query string?

A resposta inclui encoded (e query) com cada nome e valor codificados em porcentagem e unidos por &.

O sinal de mais é lido como espaço?

Sim, por padrão, porque formulários web enviam espaços como sinais de mais: hello+world vira hello world. Você pode desligar isso quando precisar manter um sinal de mais literal.

O que acontece quando o mesmo nome aparece duas vezes?

Todas as ocorrências são mantidas, em ordem, para não perder filtros de seleção múltipla nem etiquetas repetidas. A visão simples de nome e valor guarda só o último valor de cada nome.

O que acontece com uma sequência de porcentagem quebrada?

A análise para com uma mensagem que mostra onde está o problema. Um sinal de porcentagem solto no final, ou seguido de caracteres que não são hexadecimais, é recusado em vez de ser decodificado pela metade.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/enc/query-string

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

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"}'
{
  "mode": "parse",
  "op": "parse"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.query_string",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Sequências percentuais malformadas falham com invalid_input em vez de lixo meio decodificado.

Como as query strings codificam pares chave-valor

A decodificação valida cada sequência percentual antes do decode no host: um percentual final sozinho ou dígitos não hexadecimais após um percentual geram invalid_input com mensagem consciente da posição. O caminho é trabalho puro de strings sem rede, sem sementes aleatórias e sem carimbos de relógio, de modo que entradas idênticas sempre produzem JSON idêntico. O preço de API em chamadas bem-sucedidas é a base publicada de US$ 0,002 por item, e falhas de validação não consomem saldo pré-pago.

Contrato de entrada, forma da resposta e comportamento de erro

Falhas de validação não consomem saldo pré-pago. Checagens clássicas incluem analisar name equals Ada ampersand city equals New percent-twenty York, serializar pares com espaços e ampersands, e rejeitar um valor que termina em percentual solto. Envie um corpo JSON com mode em parse ou serialize. Para parse, forneça text (aliases query, query_string, qs) com o fragmento de consulta. Um ponto de interrogação inicial opcional é removido; um fragmento hash após a consulta é ignorado para que colar uma busca completa do navegador ainda funcione. plus_as_space opcional padrão true para conversão de mais em espaço no estilo form-urlencoded. Em sucesso, parse devolve mode, plus_as_space, o text original, uma visão de query normalizada, pairs como array de strings key e value em ordem, object como mapa last-wins de chaves únicas, count como número de pares, e encoded como string re-serializada a partir desses pares para comparar ida e volta. Para serialize, forneça pairs como array de objetos com campos key e value ou como mapa de objeto simples. Em sucesso, serialize devolve mode, plus_as_space, os pairs normalizados, object, count, encoded e query (a mesma string codificada sem ponto de interrogação inicial). Falta de text no modo parse, falta de pairs no modo serialize, valores de mode não suportados, objetos aninhados dentro de um mapa, strings longas demais e sequências percentuais malformadas falham com invalid_input e mensagem clara em inglês. O preço de API em sucesso é a base publicada de US$ 0,002 por item.

Onde um analisador de query string mostra o seu valor

Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.

Testes de ida e volta e fixtures

Gere vetores dourados de parse e serialize para CI para que chaves multi-valor e valores Unicode permaneçam estáveis entre runtimes.

Sinais de mais são tratados como espaços?

Sim por padrão ao analisar (application/x-www-form-urlencoded). Defina plus_as_space como false se precisar manter o + literal antes da decodificação percentual.

O que acontece se uma sequência percentual estiver malformada?

O parse falha com invalid_input, nomeando o parâmetro e o escape incorreto (por exemplo um % incompleto ou dígitos não hexadecimais). Falhas de validação não são cobradas.

Quanto custa o analisador de query string?

A ferramenta do navegador é gratuita. Pedidos à API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →