Conversor de cURL

Etapa 1 / 4Conversor de cURL

Cole um comando cURL

Máximo de 256 KiB, 4.096 tokens do shell, 200 cabeçalhos e 128 KiB de dados no corpo.

Transforme um comando cURL no estilo POSIX em código Fetch para navegador ou Node.js, Python Requests ou PHP cURL sem executar a requisição. O conversor reconhece métodos comuns, cabeçalhos repetidos, corpos embutidos, campos codificados para URL, autenticação básica, cookies, campos multipart somente de texto, redirecionamentos e compactação. Ele bloqueia opções de leitura de arquivos, certificados, proxies e saída e mostra exatamente o que foi interpretado antes de gerar o código. Comandos de até 256 KiB permanecem no seu navegador.

Como funciona

  1. 1

    Cole o comando

    Adicione um único comando cURL no estilo POSIX. Aspas do shell e continuações de linha escapadas são interpretadas localmente, sem execução.

  2. 2

    Revise a requisição

    Confira URL, método, cabeçalhos, corpo, campos de formulário, avisos e opções bloqueadas.

  3. 3

    Escolha um destino

    Gere código Fetch para navegador ou Node.js, Python Requests ou PHP cURL e depois copie ou baixe o resultado.

O que o conversor preserva

O analisador segue as regras comuns de aspas do shell POSIX para um único comando cURL. Há suporte para -X/--request, opções repetidas -H/--header, -d/--data/--data-raw, --data-urlencode, -u/--user, -b/--cookie, campos de texto -F/--form, -L e --compressed. Continuações de linha escapadas são unidas antes da tokenização. A página oficial do manual do cURL informa que opções de cabeçalho e formulário podem se repetir; o conversor mantém a ordem e avisa quando a biblioteca de destino pode combinar nomes duplicados.

Entrada cURL Equivalente gerado Limite importante
-H 'Name: value' Coleção de cabeçalhos do destino Nomes duplicados podem ser combinados
-d 'a=1' Corpo de texto da requisição Vários valores são unidos com &
--data-urlencode 'q=a b' Corpo de texto com codificação percentual As variantes baseadas em arquivo são bloqueadas
-F 'name=value' Campo multipart de texto @file e <file são bloqueados
-L Opção para seguir redirecionamentos A segurança ainda depende do ambiente de execução

O Fetch do navegador não pode definir alguns cabeçalhos de requisição proibidos, inclusive Cookie. Quando existe uma string de cookies, o código para navegador usa credentials: "include" e avisa que isso não é uma substituição exata. A MDN documenta o Fetch como a interface do navegador para requisições de rede. O código gerado é apenas um ponto de partida: CORS, credenciais, redirecionamentos e políticas do servidor continuam valendo.

Limites de segurança

O conversor nunca executa o comando nem acessa sua URL. São bloqueadas as opções que leem ou enviam arquivos locais, selecionam certificados de cliente, configuram proxies, resolvem hosts de forma especial ou gravam a saída da transferência. Isso inclui valores de corpo ou cabeçalho @file, --upload-file, opções de certificado e chave, opções de proxy e opções de saída, configuração ou rastreamento. Opções incompatíveis ou desconhecidas são bloqueadas em vez de serem interpretadas por aproximação.

O código gerado ainda pode conter dados sigilosos. Revise valores de autenticação básica, cookies e cabeçalhos de autorização antes de salvar ou compartilhar. Para Python, a saída segue as convenções da API Requests sobre método, cabeçalhos, autenticação e tempo limite. A saída PHP usa curl_setopt_array; o manual do PHP explica que cada valor CURLOPT_* configura o identificador da transferência.

Privacidade e limites

A análise e a geração acontecem no Alpine dentro deste navegador. O comando, a requisição interpretada e o código nunca se tornam propriedades dos nossos servidores nem entram na URL do fluxo. Durante as quatro etapas, o comando e o destino escolhido são armazenados por até duas horas no IndexedDB, restrito à aba; recomeçar exclui o registro. Os limites de 4.096 tokens, 200 cabeçalhos e 128 KiB de dados no corpo evitam análise sem limites. A ferramenta processa uma única URL HTTP ou HTTPS e não emula um shell completo nem todas as opções do cURL.

Perguntas frequentes

Não. Ele tokeniza e traduz o texto localmente. Nunca envia a requisição, resolve o host, abre um proxy nem lê um arquivo indicado.

Opções de arquivo, certificado, proxy, resolução personalizada, saída e rastreamento podem ultrapassar o limite seguro de processamento somente de texto. O conversor as bloqueia em vez de fingir que o código gerado é equivalente.

O JavaScript do navegador não pode definir diretamente o cabeçalho Cookie. O código para navegador usa credentials: include, que envia cookies já disponíveis em uma requisição same-site ou CORS permitida.

Não. Os comandos ficam na memória do navegador e, durante o fluxo, temporariamente no IndexedDB. Porém, o código gerado pode conter os mesmos segredos; remova-os antes de compartilhar ou fazer commit.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas