1001Ferramentas
🪟 Conversores

Conversor cURL → PowerShell / wget

Converte comandos cURL em PowerShell (Invoke-RestMethod e Invoke-WebRequest) ou wget, mantendo método, cabeçalhos, corpo e autenticação.

Aceita continuação de linha com \ ou ^ e o prefixo curl.exe.


  

Como as flags são traduzidas

cURL PowerShell wget
-X POST-Method POST--method=POST
-H "K: V"-Headers $headers--header='K: V'
-d corpo-Body $body--body-data='corpo'
-u u:pAuthorization: Basic--user / --password
-k-SkipCertificateCheck--no-check-certificate
-L-MaximumRedirection 5padrão
-o arq-OutFile "arq"-O 'arq'
--max-time 30-TimeoutSec 30--timeout=30

Tudo roda no seu navegador: o comando, os tokens e as credenciais do -u. O Basic auth é codificado em base64 aqui mesmo, e codificação não é criptografia — quem tiver o cabeçalho lê a senha de volta.

O mesmo request, agora no PowerShell

A documentação da API traz o exemplo em cURL, você está no Windows e cola no PowerShell esperando que funcione. Não funciona: ali curl é apelido de Invoke-WebRequest, que não conhece -H nem -d e responde com erro de parâmetro. Cole o comando aqui e ele sai traduzido para Invoke-RestMethod, Invoke-WebRequest ou wget, com método, cabeçalhos, corpo e autenticação no lugar.

O parser respeita aspas simples e duplas, continuação de linha com barra invertida do bash e com circunflexo do cmd, e reconhece as opções que aparecem de verdade em snippet de API: -X, -H repetido, -d em todas as variantes, --data-urlencode, --json, -F, -u, -b, -A, -L, -k, -o, --max-time e -G. Com -G o corpo vira query string na URL, como o cURL faria.

Os cabeçalhos saem numa hashtable separada, e a caixa de splatting troca a chamada de linha única por um bloco de parâmetros, mais legível quando o request tem seis opções. Repare que -k vira -SkipCertificateCheck, que só existe do PowerShell 6 em diante, e que -u é convertido em base64 no seu navegador: base64 é codificação, não criptografia, então trate o comando gerado como segredo.

Perguntas frequentes

Por que colar o cURL direto no PowerShell não funciona?
Porque no Windows o nome curl é um apelido para Invoke-WebRequest, que usa outra sintaxe de parâmetros. Se o cURL de verdade estiver instalado, chamar curl.exe funciona; o apelido, não.
A senha do -u sai do meu computador?
Não. A conversão inteira roda no navegador e nada é enviado para servidor nenhum. O par usuário e senha é codificado em base64 localmente e vira o cabeçalho Authorization.
Uso Invoke-RestMethod ou Invoke-WebRequest?
Invoke-RestMethod já devolve o JSON convertido em objeto, o que costuma ser o que você quer numa API. Invoke-WebRequest devolve a resposta completa, com status, cabeçalhos e o corpo cru.

Ferramentas Relacionadas