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
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
| Nome | Tipo | Valor | Incluído |
|---|---|---|---|
| No data yet | |||
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_HERECole 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/MCP | A 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
- Cole o HTML do formulário na caixa de entrada ou arraste um arquivo
.htmlpara o uploader. Uma página inteira salva funciona bem — qualquer coisa fora de<form>…</form>é ignorada. - Se o atributo action for relativo (
/loginem vez dehttps://example.com/login), preencha a URL Base para que o comando gerado tenha um endereço real para atingir. - 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.
- Precisa de dados de amostra diferentes do que está no HTML? Adicione linhas
name=valueem Substituir valores de campo em vez de editar a marcação. - 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 comoselected, 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…), ouallpara emitir um comandocurlpor formulário na página. - URL Base — converte uma
actionrelativa em uma URL absoluta. Ignorado assim que action já é absoluto. - Substituir valores de campo —
name=valuepor 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.