Construtor de String de Consulta

=

Monte uma string de consulta corretamente codificada a partir de uma lista de pares chave-valor. O construtor lida com caracteres reservados, espaços e entradas não ASCII da maneira que o RFC 3986 espera, para que você possa inserir o resultado diretamente em uma URL sem quebrar em e comercial ou sinais de igual.

Como construir uma string de consulta

  1. 1

    Adicione seus pares

    Digite cada nome e valor de parâmetro. Adicione mais linhas para chaves extras.

  2. 2

    Deixe a codificação acontecer

    Espaços viram %20, textos não ASCII recebem codificação percentual UTF-8 e caracteres reservados como & = # ? são protegidos.

  3. 3

    Copie a saída

    Prependa-a à sua URL com ? ou cole-a no Postman, curl ou em uma chamada fetch().

O que é codificado

De acordo com o RFC 3986, qualquer coisa fora do conjunto não reservado (A-Z a-z 0-9 - _ . ~) deve ser codificada em percentagem dentro de um componente de consulta. Na prática, isso significa:

Caractere Codificado como Por quê
espaço %20 ou + Ambíguo entre contextos
& %26 Separa pares, quebraria a string
= %3D Separa chave de valor
# %23 Inicia o fragmento
? %3F Inicia a consulta em si
/ %2F Seguro em caminhos, arriscado em valores

Chaves repetidas

Cada linha é codificada separadamente e mantém a ordem original. Duas linhas com tag geram tag=a&tag=b. Se o servidor exigir colchetes, digite tag[] como chave. A ferramenta não tenta adivinhar a convenção do framework.

Dicas

  • Sempre codifique valores fornecidos pelo usuário; nunca os concatene brutos na URL.
  • Se um valor parecer binário, codifique-o em base64url antes de inseri-lo.

Perguntas frequentes

O construtor sempre representa espaços como %20 segundo a RFC 3986. O analisador também aceita + e o converte em espaço nas consultas de formulário.

Repita a chave: tags=php&tags=laravel. Alguns frameworks esperam notação de colchetes como tags[]=php&tags[]=laravel. Combine com o que seu backend analisa.

Isso é codificação de entidade HTML aplicada pelo seu mecanismo de template, não a string de consulta em si. Certifique-se de que você não está escapando a saída duas vezes ao renderizar dentro de um href.

Não existe um único limite prático; navegadores, proxies, CDNs e servidores aplicam limites diferentes. Use o corpo da requisição para cargas grandes.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas