cURL para código

Cole um comando curl, confira a requisição que ele envia e copie como código em sete linguagens.

A interpretação e a geração de código acontecem nesta aba do navegador. Nada é enviado, salvo ou transmitido — nem para nós.

Cole um comando curl acima para ver o resumo da requisição e o código.

Como usar

  1. Cole um comando curl — do DevTools (Copy as cURL), da documentação de uma API ou de um chat. O código aparece enquanto você digita.
  2. Leia primeiro a linha de resumo: método, URL, quantidade de cabeçalhos e tamanho do corpo. Se o resumo estiver certo, o código abaixo está certo.
  3. Escolha a linguagem de destino; o código e o nome do arquivo baixado mudam sem tocar no seu comando.
  4. Os avisos apontam tudo o que o código não representa — proxies, redirecionamentos, variáveis de shell. Os erros interrompem a geração em vez de mostrar meia requisição.
  5. Limpar apaga a entrada e volta para Python; recarregar a página faz o mesmo.

Exemplo

Comando

curl -X POST 'https://httpbin.org/anything?from=pt' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer demo-token' \
  -d '{"name": "Ana", "city": "São Paulo"}'

Python

import requests

url = "https://httpbin.org/anything?from=pt"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer demo-token",
}
data = "{\"name\": \"Ana\", \"city\": \"São Paulo\"}".encode("utf-8")
response = requests.request("POST", url, headers=headers, data=data)
print(response.status_code)
print(response.text)

O resumo e o código acima são gerados a partir desse comando — esta ferramenta nunca chama o httpbin. O subconjunto compatível é método, URL, cabeçalhos, corpo, autenticação Basic/Bearer e timeout.

Regras, limites e problemas conhecidos

  • Sem upload de arquivos: entradas -F, -T e @arquivo são recusadas, então você nunca recebe código que descarta um arquivo silenciosamente.
  • Sem execução de shell: variáveis, substituição de comando, pipes e múltiplos comandos não são expandidos; $TOKEN permanece literal com um aviso.
  • Uma URL por comando: URLs extras são ignoradas com um aviso, não transformadas em laço.
  • Opções de transporte não são reproduzidas: -L, -k, proxies, certificados de cliente, versões HTTP, retentativas e compressão só geram um aviso. O código gerado usa os padrões do cliente.
  • Sem padrões implícitos do curl: User-Agent: curl/… e Accept: */* não são adicionados; fixe-os com -A / -H.
  • Somente aspas POSIX: aspas simples, aspas duplas, $'...' e continuações de linha com barra invertida; o escape do CMD do Windows não é interpretado.
  • Cabeçalhos duplicados sobrevivem em Go, PHP, Java, C# e Ruby; os dicionários de Python e JavaScript os unem com ", ".
  • Uma requisição GET/HEAD com corpo é gerada como escrita, com um aviso — fetch a recusa.
  • Sem histórico ou persistência: recarregar limpa tudo; o botão de compartilhar compartilha o link da página, nunca seu comando.
  • Esta ferramenta só converte; ela nunca envia a requisição. Use o cliente de API se também quiser ver a resposta.

Úteis depois de converter um comando.