Conversor curl para Python
Converta um comando curl em código Python requests instantaneamente no seu navegador. O comando permanece no seu dispositivo.
Seu comando curl é convertido para Python localmente no seu navegador e nunca é enviado, mas evite colar tokens ou credenciais reais de produção em qualquer ferramenta.
Quer enviar a requisição? Experimente o Cliente de Requisições de API.
Sobre curl para Python
Este conversor de curl para python pega um comando curl que você copiou de um terminal, do DevTools do navegador ou da documentação de uma API e o reescreve como um script Python limpo construído sobre a biblioteca requests. Como conversor de curl para requests, ele lê flags como -X, -H, -d, --data-raw, --json, -u, -b e -G, escolhe o método HTTP correto e opta por json= para corpos JSON válidos ou data= para payloads de formulário, de modo que a chamada funciona na primeira execução. É útil quando você está movendo um teste rápido de API para um script Python, um notebook ou uma integração de backend sem redigitar os cabeçalhos na mão. Toda a conversão roda no seu navegador, então o comando curl e quaisquer tokens dentro dele são processados localmente no seu dispositivo e nunca são enviados.
Recursos
- Gera uma chamada requests.request(method, url, ...) com o método HTTP inferido
- Monta um dict de cabeçalhos Python a partir de cada flag -H/--header
- Usa json= para corpos JSON válidos e data= para payloads form-encoded
- Faz o pretty print de corpos JSON como um literal de dict Python que você pode editar
- Mapeia -u/--user para um cabeçalho Authorization de autenticação básica e lida com cookies, user-agent e referer
- Anexa os dados de -G/--get à URL como query string
- Avisa sobre flags sem equivalente no requests, como -k e opções de saída para arquivo
- Copie o resultado ou baixe-o como request.py com um clique
Como usar curl para Python
- Cole seu comando curl na caixa de comando cURL.
- Leia o script Python requests gerado no painel de saída.
- Verifique o banner de avisos para quaisquer flags que foram ajustadas ou ignoradas.
- Clique em Copiar, ou baixe o script como request.py.
Exemplo
Entrada
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name":"Ada"}'
Saída
import requests
url = "https://api.example.com/users"
headers = {
"Content-Type": "application/json",
}
payload = {
"name": "Ada"
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.status_code)
print(response.text)
Um corpo JSON é passado com json= para que o requests o serialize por você.
Erros comuns e solução de problemas
- A saída usa data= quando você esperava json=. — Envie o corpo com --json ou adicione -H "Content-Type: application/json" para que o conversor o reconheça como JSON e mude para json=.
- Executar o script gera ModuleNotFoundError: No module named 'requests'. — Instale a dependência primeiro com pip install requests; o código gerado tem como alvo a biblioteca de terceiros requests, não a urllib.
- Um corpo JSON sai como uma string entre aspas em vez de um dict Python. — Isso acontece quando o corpo não é JSON válido. Corrija o JSON, ou mantenha-o como string e envie-o com data=.
Perguntas frequentes
- Como converto um comando curl para Python?
- Cole o comando curl na caixa de entrada e o conversor renderiza um script Python requests à direita que você pode copiar ou baixar como request.py.
- Isto gera código para a biblioteca requests ou para a urllib?
- Ele tem como alvo a popular biblioteca requests e emite uma chamada requests.request(method, url, ...). Instale-a com pip install requests antes de rodar o script.
- Quando o conversor usa json= em vez de data=?
- Ele usa json= quando o corpo é JSON válido (enviado com --json ou um Content-Type JSON) para que o requests serialize o dict, e data= para corpos form-encoded ou strings brutas.
- Como um valor de autenticação básica curl -u é tratado na saída Python?
- Um valor de -u ou --user é codificado em base64 em um cabeçalho Authorization: Basic no dict de cabeçalhos, correspondendo ao que o curl envia na rede.
- Meu comando curl é enviado quando eu o converto para Python?
- Não. A conversão de curl para python roda inteiramente no seu navegador, então o comando e quaisquer credenciais nele permanecem no seu dispositivo.
Ferramentas relacionadas
- curl para Go — Converta um comando curl em código Go usando o pacote net/http.
- curl para PHP — Converta um comando curl em um script PHP com a extensão cURL.
- curl para Node.js — Converta um comando curl em uma requisição Node.js com axios.
- cURL para Fetch — Converta um comando curl em uma chamada fetch() de JavaScript.
- Cliente de API — Envie requisições HTTP, monte cabeçalhos e parâmetros e inspecione respostas; salva as últimas 25.
- Analisador de URL — Decomponha uma URL em suas partes e liste os parâmetros de consulta.
Todas as ferramentas de ArrayKit