Converter curl para Python
O curl2code converte instantaneamente qualquer comando curl em código Python limpo utilizando a popular biblioteca requests. A conversão é executada inteiramente no seu navegador através de WebAssembly — os seus dados nunca saem do seu dispositivo. Se trabalha com TypeScript no frontend, consulte o nosso conversor de curl para TypeScript. Para JavaScript no lado do servidor, veja curl para Node.js. Abaixo encontrará exemplos práticos que abrangem os cenários HTTP mais comuns.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é o Python Requests?
O Python Requests é a biblioteca de cliente HTTP mais popular para Python com mais de 50.000 estrelas no GitHub. Fornece uma API elegante e Pythonic para fazer pedidos HTTP, gerir sessões, cookies e autenticação. Suporta análise de JSON nativamente, pooling de ligações e descodificação automática de conteúdo. Instale com pip install requests. É a biblioteca predefinida usada pelo curl2code para conversões em Python.
Requests vs http.client — qual devo usar?
O Requests é recomendado para a maioria dos casos de utilização devido à sua API simples, análise automática de JSON e suporte integrado para sessões. O http.client faz parte da biblioteca padrão do Python e não requer instalação, sendo adequado para ambientes mínimos. Para simplicidade semelhante noutras linguagens, consulte o nosso conversor de curl para Ruby ou conversor de curl para Go.
Como gerir a autenticação no Python Requests?
Passe um cabeçalho Authorization com o seu token para autenticação Bearer, ou use requests.auth.HTTPBasicAuth(user, pass) para autenticação Basic. O curl2code deteta automaticamente padrões de autenticação, incluindo -u user:pass e -H 'Authorization: Bearer ...'.
Como enviar dados de formulário multipart com Python?
Use o parâmetro files: requests.post(url, files={ 'file': open('doc.pdf', 'rb') }). Para campos de formulário adicionais, use data simultaneamente. O curl2code gere as flags -F automaticamente.
Como gerir erros e tentativas (retries)?
Use response.raise_for_status() para exceções em 4xx/5xx. Envolva em try/except capturando requests.exceptions.RequestException. Para tentativas, use urllib3.util.Retry com um adaptador de Session.
Como fazer pedidos HTTP assíncronos em Python?
O requests é síncrono. Para HTTP assíncrono, use aiohttp ou httpx (oferece APIs síncronas e assíncronas com uma interface compatível com requests). Para cenários de alta concorrência, os clientes assíncronos proporcionam um rendimento significativamente melhor.
Como definir timeouts e pooling de ligações?
Defina sempre timeouts: requests.get(url, timeout=(3.05, 27)). Para pooling de ligações, use requests.Session() que reutiliza ligações TCP. As opções --connect-timeout e --max-time do curl mapeiam para estas.
Como configurar um proxy com o Python Requests?
Passe um dicionário proxies: { 'https': 'http://proxy:8080' }. Para SOCKS, instale requests[socks]. Também respeita as variáveis de ambiente HTTP_PROXY / HTTPS_PROXY. O curl2code converte -x e --proxy automaticamente.
Como enviar um pedido POST com um corpo JSON em Python?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para Python usando o curl2code. O código gerado utiliza requests.post(url, json={'key': 'value'}). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código Requests.
Como adicionar autorização com token Bearer em Python?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código Requests com o cabeçalho de autenticação: headers={'Authorization': 'Bearer YOUR_TOKEN'}. O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em Python?
O curl2code converte curl -H "Content-Type: application/json" URL para código Requests com o cabeçalho correto: headers={'Content-Type': 'application/json'}. Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API Requests correta.
Como converter um comando curl para código Python?
Cole o seu comando curl no curl2code e selecione Python. A ferramenta analisa todas as flags — -X (método), -H (cabeçalhos), -d (dados), -u (autenticação), -F (formulário), cookies e muito mais — e gera código Python Requests limpo. A conversão é executada localmente no seu navegador através de WebAssembly, pelo que as suas chaves de API e dados permanecem privados. Também pode escolher http.client como uma biblioteca alternativa.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.