Analisador de URL

Quando um webhook falha ou um link de rastreamento carrega os parâmetros errados, o jeito mais rápido é quebrar a URL e ler cada parte. Cole qualquer URL e este analisador a divide em seus componentes: esquema, usuário e senha, host, porta, caminho, string de consulta e fragmento, e expande a consulta em uma tabela com cada par de chave e valor. Ele roda em nosso servidor com o analisador de URL padrão do PHP, então você vê exatamente como um backend em PHP leria o mesmo link.

Como analisar uma URL

  1. 1

    Cole a URL

    Cole qualquer URL, absoluta ou relativa. Não há nada para clicar: ela é analisada enquanto você digita.

  2. 2

    Leia os componentes

    A tabela é preenchida com o esquema, host, porta, usuário, senha, caminho, consulta e fragmento encontrados. As partes vazias mostram um traço.

  3. 3

    Expanda a consulta

    Cada par `key=value` aparece em sua própria linha, com a codificação percentual e `+` decodificados para caracteres reais.

  4. 4

    Copie os parâmetros

    O botão de copiar pega todos os parâmetros de consulta de uma vez como linhas `key=value`, prontas para colar em um cliente de API.

Anatomia de uma URL

Pegue esta URL: https://user:pass@api.example.com:8443/v1/users?page=2&sort=name#profile. O analisador a decompõe em:

Componente Valor
scheme https
user user
pass pass
host api.example.com
port 8443
path /v1/users
query page=2&sort=name
fragment profile

Em seguida, a string de consulta é expandida em uma tabela própria: page = 2 e sort = name.

Como a string de consulta é lida

  • Os valores são decodificados do formato percentual e + vira um espaço, então q=hello%20world e q=hello+world são lidos como hello world.
  • Um par é dividido no seu primeiro =, então token=a=b=c mantém a=b=c como valor.
  • Chaves repetidas mantêm apenas o último valor: ?id=1&id=2 retorna id = 2. Para manter todos os valores, use a sintaxe de array id[]=1&id[]=2, que é exibida como uma lista.
  • Chaves com colchetes como filter[status]=open viram uma estrutura aninhada, exibida como JSON.

Portas, caminhos e fragmentos

  • A porta é exibida exatamente como está escrita. Nada é adicionado ou removido, então :443 aparece como 443 e uma URL sem porta deixa a linha em branco.
  • Uma barra final muda o caminho: https://a.com tem um caminho vazio, enquanto https://a.com/ tem o caminho /.
  • O fragmento (após #) é um valor usado apenas pelo navegador para saltar até uma âncora ou controlar um roteador do lado do cliente. Ele nunca chega ao servidor, então tudo o que um backend precisa ler vai na string de consulta.
  • O host é retornado exatamente como digitado; este analisador não converte domínios internacionalizados (não ASCII) para Punycode nem o contrário.

Perguntas frequentes

Sim. Um link relativo como /v1/users?ref=nav não tem esquema nem host, então essas linhas ficam vazias, enquanto o caminho e a consulta são preenchidos normalmente. Só uma URL mal formada, por exemplo com uma porta não numérica como http://a.com:port, é rejeitada por completo.

Apenas o último valor é mantido, então ?id=1&id=2 retorna id = 2, exatamente como um backend em PHP leria. Se você precisar de todos os valores, use a sintaxe de array id[]=1&id[]=2 e eles aparecerão como uma lista.

O analisador informa a porta exatamente como está escrita. Ele nunca remove uma porta padrão nem adiciona uma que esteja faltando, então uma URL sem porta mostra a linha em branco e https://a.com:443 mostra 443.

A URL é enviada ao nosso servidor para ser analisada, já que esta ferramenta roda no servidor e não apenas no seu navegador. Não guardamos as URLs em si; registramos apenas uma contagem anônima de que o analisador foi usado.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas