Pular para o conteúdo principal

Conversor de Formulário HTML para Comando cURL

Cole um HTML <form> e obtenha um comando curl pronto para usar — analisa action/method/enctype e cada input nomeado, tratando multipart/form-data vs urlencoded, checkboxes, selects, Basic Auth e headers personalizados.

Entrada

Drop a file or browse
One file · text
Ou

Cole uma página inteira ou apenas a marcação <form>…</form>.

Um número de formulário baseado em 1, ou "all" para converter cada formulário na página.

Converte uma action relativa ("/login") em uma URL completa. Ignorado se action já é absoluto.

Um name=value por linha — substitui o valor/estado checked encontrado no HTML para esse campo.

Um header por linha, formatado como "Key: Value".

Saída

Comando cURL
 
Campos analisados
NomeTipoValorIncluído
No data yet
Isso foi útil?

Mais formas de usar esta ferramenta

API REST

curl -X POST https://api.iotools.cloud/v1/tool/html-form-to-curl-converter \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<form action=\"/login\" method=\"post\">\n  <input na…",
    "form": "1",
    "baseUrl": "https://example.com",
    "overrides": "",
    "headers": "",
    "basicAuthUser": "",
    "basicAuthPass": "",
    "followRedirects": "true"
  }'

Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.

Peça a um agente de IA

Use the IOTools `html-form-to-curl-converter` tool (HTML Form to cURL Command Converter) on this input:

YOUR_INPUT_HERE

Cole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.

Widget para incorporar

<iframe
  src="https://iotools.cloud/embed/html-form-to-curl-converter/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Conversor de Formulário HTML para Comando cURL — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Coloque isso na sua própria página — grátis, sem chave, só um link de volta.

Custo por chamada de API/MCPA partir de 5 créditos
Precisa de mais créditos?Ver preços

Também disponível via

Guias

Encontrou um formulário de login ou busca no código-fonte de uma página e precisa acessar o mesmo endpoint de um terminal, script ou relatório de bug? Cole a marcação <form> aqui e obtenha um comando curl que o envia da mesma forma que um navegador faria — mesma URL, mesmo método, mesmos nomes de campo, mesma codificação. Tudo é executado no seu navegador; o HTML nunca sai da sua máquina.

Como usar

  1. Cole o HTML do formulário na caixa de entrada ou arraste um arquivo .html para o uploader. Uma página inteira salva funciona bem — qualquer coisa fora de <form>…</form> é ignorada.
  2. Se o atributo action for relativo (/login em vez de https://example.com/login), preencha a URL Base para que o comando gerado tenha um endereço real para atingir.
  3. Verifique a tabela Campos analisados para ver exatamente o que foi encontrado — cada input nomeado, seu tipo, o valor que será enviado e se está realmente incluído.
  4. Precisa de dados de amostra diferentes do que está no HTML? Adicione linhas name=value em Substituir valores de campo em vez de editar a marcação.
  5. Adicione qualquer Headers extra, credenciais de Basic Auth ou ative Seguir redirecionamentos, depois copie ou baixe o comando.

Como os campos são escolhidos

Isso segue as mesmas regras que um navegador aplica quando você clica em enviar:

  • Checkboxes e radio buttons são incluídos apenas se possuem um atributo checked — uma caixa desmarcada nunca é enviada, correspondendo ao comportamento real do formulário.
  • <select> envia a opção marcada como selected, ou a primeira opção se nenhuma for marcada — nunca um valor em branco.
  • Campos desabilitados são sempre excluídos.
  • <button type="reset">/type="button"> são apenas UI e nunca são enviados, então são descartados.
  • <input type="file"> não pode conter bytes de arquivo reais de marcação colada, então se torna um placeholder -F 'name=@/path/to/file' — edite o caminho antes de executar.

Configurações

  • Formulário para converter — um número baseado em 1 (1, 2, 3…), ou all para emitir um comando curl por formulário na página.
  • URL Base — converte uma action relativa em uma URL absoluta. Ignorado assim que action já é absoluto.
  • Substituir valores de camponame=value por linha, aplicado após a análise. Útil para trocar uma senha real ou um token CSRF fresco sem tocar no HTML.

Por que GET produz uma URL com query string em vez de -d?

Porque é o que realmente acontece: um formulário method="get" nunca envia um corpo — o navegador anexa cada campo à URL como uma query string antes de navegar. Reproduzir isso com -d atingiria um caminho de código diferente no servidor do que um envio de formulário real.

Qual é a diferença entre a saída urlencoded e multipart?

Um formulário simples (ou sem enctype) envia dados application/x-www-form-urlencoded, então cada campo se torna um flag --data-urlencode 'name=value'. Adicionar enctype="multipart/form-data" — necessário para uploads de arquivo — alterna cada campo para -F 'name=value' em vez disso, que curl envia como corpo multipart.

Ele pode buscar um formulário de uma URL?

Não, e isso é intencional: nada é enviado ou buscado, então a ferramenta funciona em páginas internas, dashboards conectados e localhost tão bem quanto em sites públicos. Use a "Exibir fonte" do seu navegador ou DevTools → Copiar elemento, depois cole.

Ferramentas relacionadas

Construir um comando curl do zero em vez de colar marcação existente? cURL Command Builder cobre entrada manual de URL/header/body com os mesmos flags. Para extrair dados tabulares de HTML colado em vez de um formulário, veja HTML Table Extractor.

form parsercurl commandhttp requestapi testingmultipart form-dataurlencodedhtml parserweb scrapingdeveloper

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.