Conversor de cURL para Python

Cole um comando curl do seu terminal, de um manual ou do menu de cópia de um navegador. Você recebe código Python que faz a mesma requisição com a biblioteca requests, e uma lista do que cada opção virou.

Gratuita Funciona no seu navegador Verificada em terça-feira, 10 de novembro de 2026

Um comando só. Aspas e quebras de linha escritas com barra invertida são lidas como um shell as lê. Não cole uma senha ou um token real que você queira manter privado.

Resultado

Código Python — Copie-o para um script. Ele precisa da biblioteca requests instalada.
Código Python
Código fetch do JavaScript

O que a tradução fez

Esta ferramenta funciona no seu navegador. O que você digita não é enviado para nós.

Como usar

  1. Cole um comando curl em Comando curl. Mantenha as aspas em volta de valores que tenham espaços.
  2. Leia O que a tradução fez para conferir cada opção: o método, a query string, o corpo e os cabeçalhos.
  3. Copie o Código Python para o seu script, com a biblioteca requests instalada, ou o Código fetch do JavaScript para uma página.
  4. Se uma nota ou um erro aparecer, corrija o comando primeiro e depois copie o código de novo.

Quais opções do curl a ferramenta lê

A ferramenta lê as opções que a maioria das requisições usa. Cada uma muda a chamada em Python de um modo conhecido, e qualquer outra opção interrompe a tradução com uma mensagem, então nada é adivinhado.

  • -X e --request definem o método, como escrito. O manual diz que isso só muda a palavra enviada.
  • -H e --header acrescentam cabeçalhos. Uma linha como X-Flag; envia um valor vazio, e -H com valor vazio depois dos dois-pontos remove um cabeçalho.
  • -d, --data, --data-raw e --data-binary definem o corpo. Vários valores de -d são juntados com &. Com -G, eles viram a query string.
  • -G e --get, -I e --head, e -L e --location mudam o método ou o tratamento de redirecionamentos.
  • -u e --user, -A e --user-agent, e -b e --cookie definem a tupla de autenticação, o cabeçalho User-Agent e o cabeçalho Cookie.
  • --json envia o valor como corpo e define os cabeçalhos JSON, que -H pode substituir.

Como o comando é lido

O texto é dividido em palavras como um shell POSIX as divide. Aspas simples mantêm todos os caracteres. Dentro de aspas duplas, uma barra invertida só escapa os caracteres $, crase (`), aspas duplas, barra invertida e quebra de linha. Uma barra invertida no fim de uma linha a une à próxima. Expansões do shell, como $HOME, não são executadas, então esses valores são indicados como erros.

O que a ferramenta não verifica

  • Ela não envia a requisição, então não pode dizer se o servidor a aceita.
  • Um navegador aplica suas regras de origem cruzada ao fetch. Uma requisição para outro site pode ser bloqueada ali, mesmo quando o mesmo comando funciona em um terminal. A ferramenta não testa isso.
  • Ela não abre arquivos nomeados com @, e não lê arquivos de cookies.
  • Escreve somente Python. O código usa a biblioteca requests, que você instala separadamente.

Exemplo resolvido: um PUT com corpo JSON

O comando envia um PUT para um item com corpo JSON. O método vem de -X, o cabeçalho de -H e o corpo de -d. A chamada em Python tem as mesmas três partes, e a lista de passos diz qual opção deu cada valor.

Opção do curl Argumento Python Valor no código
-X PUT method 'PUT'
-H 'Content-Type: application/json' headers 'Content-Type': 'application/json'
-d '{"name": "Ada"}' data '{"name": "Ada"}'

Perguntas frequentes

Por que o código usa requests e não outra biblioteca?

requests é a biblioteca Python para a qual a ferramenta traduz, e a função dela recebe método, URL, cabeçalhos, dados e autenticação em uma só chamada. A mesma chamada funciona para todos os métodos que o comando indica.

Por que minha requisição é enviada como POST se eu não escrevi -X?

O manual do curl diz que -d usa POST, e --json também envia um POST. Escreva -X com o método que você quer, como -X PUT, para mudar a palavra enviada.

O que o -G faz na tradução?

Ele move os dados de -d para a URL como query string e faz da requisição um GET, como descreve o manual. A chamada em Python então tem a URL completa e nenhum corpo.

As senhas do meu comando são enviadas para algum lugar?

Não. O comando é lido no seu navegador, e nada é guardado nem enviado para nós. Mesmo assim, use uma senha ou um token de teste em uma página que você não controla.

Por que a saída menciona redirecionamentos?

O curl só segue redirecionamentos com -L. A biblioteca requests os segue por padrão para todos os métodos, e o fetch também, então a nota diz como igualar uma chamada curl que não tem -L.

A ferramenta consegue ler dados de um arquivo nomeado com @?

Não. A ferramenta não abre arquivos, então um valor com @ é indicado como erro. Cole o próprio dado no comando.

Fontes

Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.

Usamos cookies necessários para o site funcionar. Com o seu consentimento, o Google também usa cookies de publicidade para mostrar anúncios personalizados. Se você recusá-los, continuará vendo anúncios, mas eles não serão personalizados.