Como usar
- Cole um comando curl em Comando curl. Mantenha as aspas em volta de valores que tenham espaços.
- Leia O que a tradução fez para conferir cada opção: o método, a query string, o corpo e os cabeçalhos.
- 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.
- 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
- Manual do curl (em inglês): -X, -H, -d, -G, -I, -u, -A, -b, -L, --json and --basic
- POSIX Shell Command Language (em inglês), seção 2.2 Quoting
- Requests (em inglês): API reference for request, get, post and head
Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.