Testador de requisições CORS

Envie uma requisição real entre origens do seu navegador para qualquer API e veja se o CORS a permite. Explica quando é preciso preflight e mostra os cabeçalhos legíveis.

É uma requisição "simples": não precisa de preflight, mas a resposta só pode ser lida se trouxer um cabeçalho Access-Control-Allow-Origin que corresponda a este site.
A requisição é enviada direto do seu navegador com a origem desta página (https://algokit.dev), exatamente como faria um script em um site. Só ficam visíveis os cabeçalhos da lista segura do CORS e os listados em Access-Control-Expose-Headers.

O que é Testador de CORS?

Este testador de CORS envia uma requisição real entre origens a partir do seu navegador – com o método, o Content-Type, o cabeçalho personalizado e o modo de credenciais que você escolher – e informa se o navegador deixa o JavaScript ler a resposta. Antes do envio, ele explica se a requisição é "simples" ou precisa de um preflight OPTIONS, e por quê.

Como usar Testador de CORS

  1. Digite a URL da API a testar.
  2. Escolha o método, um Content-Type opcional e um cabeçalho personalizado opcional, como Authorization: Bearer x.
  3. Marque "Enviar cookies / credenciais" se o seu app usa credentials: include.
  4. Leia a explicação sobre o preflight e clique em Enviar requisição de teste.
  5. Se for permitido, revise o status e os cabeçalhos que o JavaScript pode ver; se for bloqueado, confira o console do navegador para ver o erro de CORS exato.

Quando usar Testador de CORS

Use para verificar se uma API pública pode ser chamada a partir de um app no navegador, ou para reproduzir um erro de CORS com cabeçalhos específicos. A origem é sempre https://algokit.dev, então um servidor que só permite o seu próprio domínio vai aparecer corretamente como bloqueado; teste a partir do seu site para uma correspondência exata. A ferramenta não consegue distinguir falhas de CORS de erros de rede ou de TLS – o navegador não revela isso.

Como funciona Testador de CORS

A ferramenta chama fetch() com mode: "cors" a partir da origem da página (https://algokit.dev), exatamente como o seu próprio código front-end faria. A explicação do preflight segue o padrão Fetch: métodos diferentes de GET/HEAD/POST, um Content-Type diferente de form-urlencoded, multipart/form-data ou text/plain, ou qualquer cabeçalho personalizado disparam um preflight OPTIONS. Quando o navegador bloqueia uma resposta, ele lança um TypeError genérico e esconde de propósito o motivo, então a ferramenta pede que você olhe o console.

Casos de Uso Comuns

  • Verificar se uma API de terceiros envia Access-Control-Allow-Origin antes de integrá-la em uma SPA.
  • Descobrir qual cabeçalho da sua requisição dispara um preflight.
  • Verificar se credentials: include funciona (exige uma origem específica, não *).
  • Ver quais cabeçalhos de resposta ficam expostos ao JavaScript via Access-Control-Expose-Headers.

Nota de Segurança

A requisição vai diretamente do seu navegador para a URL que você digitar; com as credenciais ativadas, os seus cookies desse site também são enviados.

Perguntas Frequentes

Por que funciona no curl, mas falha no navegador?

O CORS só é aplicado pelos navegadores. O curl e os servidores o ignoram, então uma API pode funcionar no curl e continuar ilegível para uma página web.

O que dispara um preflight?

Um método diferente de GET, HEAD ou POST, um Content-Type não simples como application/json ou qualquer cabeçalho de requisição personalizado, como Authorization.

Access-Control-Allow-Origin: * pode ser usado com cookies?

Não. Com credenciais, o servidor precisa devolver a origem exata e enviar Access-Control-Allow-Credentials: true.

Explore mais categorias