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. 1

    Abrir as DevTools

    Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.

  2. 2

    Ir para o separador Network

    Clique no separador Network e realize a ação que despoleta o pedido HTTP.

  3. 3

    Copiar como cURL

    Clique com o botão direito no pedido → CopyCopy 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

Converter curl para Outras Linguagens