Ferramentas de API e HTTP

conversor de cURLUma requisição em vários idiomas de código

Uma requisição em vários idiomas de código

conversor de cURL

Entrada

A entrada é processada neste navegador e não é enviada a um servidor.

Resultados

Opções

Opções: -X, -H, -d, --data-raw, --data-binary, --data-urlencode, -G, -I, --url. Outras opções e cabeçalhos repetidos, vazios ou gerenciados pelo transporte são rejeitados.

A direção inversa exige Fetch redirect: "manual" ou Axios maxRedirects: 0. Corpos JSON em string do Axios exigem transformRequest: []; objetos JSON literais são aceitos.

Destinos: Fetch Node 18+, Axios Node, Python requests, PHP cURL, biblioteca padrão Go, Java 11+, C# 9+, biblioteca padrão Ruby. Nenhum código é executado.

Limites: 100.000 unidades UTF-16, 1.000 argumentos, 100 cabeçalhos; profundidade JSON 10 e 5.000 nós AST.

Cole uma requisição curl, Fetch ou Axios, ou veja um exemplo.

O conversor de cURL ajuda a levar um exemplo de API ao projeto sem redigitar URL, cabeçalhos e corpo. Confira a saída e acrescente configuração e tratamento de erros.

Transforme curl para código, de curl para Python ou de curl para JavaScript com Fetch e Axios. A direção inversa aceita uma chamada com valores literais compatíveis.

Por que usar este conversor de cURL

Comparar oito saídas

O conversor de cURL mantém método, URL, cabeçalhos e corpo em um modelo comum. Mude o destino sem redigitar os dados. Confira os padrões de cada biblioteca antes de executar.

Uma requisição se divide em vários destinos de código.

Voltar ao comando

Converta uma chamada Fetch ou Axios compatível em curl para documentação. Variáveis e expressões dinâmicas não são executadas para descobrir valores.

Uma chamada JavaScript retorna a um comando curl.

Escolher a direção e a atualização

01

Preparar uma requisição

A página começa vazia. Escolha o formato e uma URL HTTP(S) absoluta. Use codificação percentual para Unicode. O exemplo também exige prévia e aplicação.

02

Controlar a conversão

O modo automático espera 350 ms. Desative para usar o botão ou Ctrl/Cmd+Enter. Alterações bloqueiam a exportação até existir um resultado atualizado.

03

Conferir antes de substituir

Formatar, exemplo e limpar mostram uma prévia e permitem desfazer uma vez após aplicar. Revise credenciais antes de compartilhar o código.

Partes da requisição convertidas

Oito destinos

Fetch para Node 18+, Axios para Node, Python requests, PHP, Go, Java, C# e Ruby. No navegador também se aplicam CORS e restrições de cabeçalhos.

Corpo em texto

As opções de dados geram texto UTF-8; -G move dados para a consulta. Métodos: GET, HEAD, POST, PUT, PATCH, DELETE e OPTIONS.

Leitura de literais

Opções Fetch, configurações Axios e métodos aceitos são lidos estaticamente. JSON.stringify com JSON literal puro não exige executar o código.

Erros localizados

Sintaxe ou opções desconhecidas interrompem a geração. Após um erro, um resultado anterior não fica disponível para exportação.

Limites de sintaxe e tamanho

Um comando e uma URL
Sem comandos múltiplos, pipes, expansão shell, credenciais na URL, fragmentos ou globs. Apenas endereços HTTP(S) absolutos ASCII.
Opções definidas
Combinações aceitas de -X, -H, -d, --data-raw, --data-binary, --data-urlencode, -G, -I e --url. Opções desconhecidas geram erro.
Sem omissão silenciosa
Cabeçalhos duplicados, remoção por cabeçalho vazio, -u, -b, redirecionamentos, multipart e arquivos são rejeitados. GET e HEAD não podem ter corpo.
Sem JavaScript dinâmico
Variáveis, funções, spread e propriedades calculadas não são aceitos. JSON estático: profundidade 10 e até 5.000 nós AST. A direção inversa exige Fetch redirect: "manual" ou Axios maxRedirects: 0. Corpos JSON em string do Axios exigem transformRequest: []; objetos JSON literais são aceitos.
Entrada limitada
Até 100.000 unidades UTF-16, 1.000 argumentos e 100 cabeçalhos. O excesso é rejeitado sem cortar a requisição. Se a formatação ultrapassar 100.000 unidades UTF-16, você poderá ver a prévia, mas não aplicá-la à entrada. O resultado gerado completo continuará disponível para exportação.
Ambiente de execução
Não há teste de conexão nem garantia de tráfego idêntico. Axios Node desativa redirecionamentos e transformações automáticas do corpo. Segredos permanecem na saída. Accept fica explícito: */* para curl/Fetch e application/json, text/plain, */* para Axios. Corpo string em Axios DELETE/OPTIONS exige Content-Type explícito. Codifique os caracteres de URL proibidos pela RFC 3986; userinfo vazio também é rejeitado.

Perguntas sobre o conversor de cURL

Quais opções de curl são reconhecidas?

São aceitas as combinações previstas de método, cabeçalhos, dados em texto, -G, -I e --url. Opções fora da lista causam erro.

Como o método é escolhido sem -X?

Sem método explícito, dados normalmente indicam POST; sem corpo, GET. -G move os dados para a consulta e -I indica HEAD. Combinações incompatíveis são rejeitadas.

O corpo JSON vira um objeto no código?

Um corpo que já é texto não é convertido em objeto apenas para formatar JSON. Dados JSON literais de JavaScript são lidos estaticamente conforme o subconjunto aceito.

O conversor pode ser usado sem pagar?

Sim. O conversor de cURL está disponível sem pagamento; a conversão acontece no navegador. Você ainda precisa configurar as bibliotecas no ambiente que executará a saída.

Posso usar a ferramenta no celular?

Sim. Em telas menores, entrada e resultado ficam empilhados. Revise a saída completa e suas credenciais antes de copiar ou baixar.

Algo parece errado?

Preparar a próxima requisição

Use o conversor de cURL para conferir dados e cabeçalhos antes de adaptar o código à sua aplicação.