Ir para o conteúdo
Toova
Todas as Ferramentas

curl → fetch / axios / Python / Go

Privado por design — roda inteiramente no seu navegador

Cole um comando curl — com -H, -d, -u, método — e o Toova devolve o equivalente em JavaScript fetch, axios, Python requests ou Go net/http. Útil quando você está portando uma chamada de API entre linguagens.

O que o conversor entende

O Toova tokeniza o comando como um shell POSIX faria, então aspas simples e duplas, barras invertidas de continuação de linha e headers empilhados sobrevivem ao round-trip. Lê -X para o verbo, vários -H para headers, -d / --data-raw / --data-urlencode para o body e -u para autenticação básica (que vira um header Authorization em Base64 no output). Flags não funcionais como -L, -k, -s e --compressed são ignoradas silenciosamente.

Como cada alvo molda a saída

O JavaScript fetch mantém a URL inline e emite um objeto de opções com método, headers e body. axios usa o objeto de config para reunir headers, query e body — e se o --data faz parse como JSON, o conversor promove para o campo data tipado. Python requests deixa a URL inline, escolhe json= para payload JSON e data= para o resto. Go net/http monta um http.NewRequest, seta cada header e lê o body com io.ReadAll para soar idiomático.

Por que nada sai do seu navegador

Comandos curl de produção normalmente carregam bearer token, API key ou cookie de sessão — exatamente o tipo de string que você não cola em um form público. O conversor é um pedaço de JavaScript que roda nessa aba. Abra o DevTools enquanto experimenta; nenhuma requisição sai quando você cola ou troca de linguagem. Esse é o contrato.

Perguntas Frequentes

Quais flags do curl são suportadas?
-X / --request, -H / --header, -d / --data / --data-raw, --data-urlencode, -u / --user e todas as flags não funcionais (-L, -k, --compressed, -s/-v, --silent).
Funciona com body JSON?
Sim. Quando o --data é JSON válido, as saídas axios e Python usam o objeto, mantendo o payload tipado em vez de uma string. Outros formatos ficam como string crua.
E uploads multipart?
Um único -F é interpretado como body sem header e convertido como está. Suporte completo a multipart está no roadmap; por enquanto, troque manualmente por FormData no fetch / axios.
Tokens e chaves de API são registrados?
Não. A conversão acontece nesta aba do navegador. O Toova não vê seu comando curl e não há telemetria sobre o conteúdo digitado.
Por que meu GET vira POST?
É comportamento do curl: quando há --data o método é promovido para POST a menos que você force -X GET. O conversor reflete isso para manter a semântica do código gerado.
Dá para salvar a saída?
Use o botão Copiar. Não persistimos nada entre cargas da página — mantenha a aba aberta enquanto itera.