cURL para PowerShell
Cole um comando curl e receba um script PowerShell com Invoke-RestMethod e aspas que não engolem seu token.
cURL para PowerShell converte no seu navegador. Comandos com tokens ou credenciais não saem do dispositivo.
Abrir cURL para C#
Sobre cURL to PowerShell
Colar um comando curl no PowerShell quase nunca funciona, e não só porque as flags mudam. O PowerShell interpola variáveis dentro de aspas duplas, então um token com cifrão vira silenciosamente uma string vazia e a requisição volta 401 sem pista alguma. Este conversor emite literais entre aspas simples, que o PowerShell trata como texto puro. Cabeçalhos viram hashtable e um corpo JSON passa por ConvertTo-Json para você editar antes de enviar.
Recursos
- Invoke-RestMethod com os parâmetros distribuídos em linhas legíveis
- Cabeçalhos como hashtable do PowerShell
- Corpos JSON como hashtable canalizado para ConvertTo-Json
- Aspas simples para que um $ do token nunca seja interpolado
- Autenticação básica reconstruída como cabeçalho Base64
- A conversão acontece no seu navegador
Como usar cURL to PowerShell
- Copie o comando curl da documentação
- Cole no painel da esquerda
- Confira o PowerShell gerado à direita
- Copie ou baixe como arquivo .ps1
Exemplo
Entrada
curl https://api.example.com/users -H "X-Api-Key: abc123"
Saída
$headers = @{
'X-Api-Key' = 'abc123'
}
$response = Invoke-RestMethod `
-Uri 'https://api.example.com/users' `
-Method GET `
-Headers $headers
Aspas simples mantêm o valor literal, sejam quais forem os caracteres.
Erros comuns e solução de problemas
- A requisição volta 401 mesmo com o token certo. — Uma string entre aspas duplas interpola tudo depois de um cifrão e parte do token some. Mantenha as aspas simples ou escape o cifrão com uma crase.
- O corpo JSON chega deformado ou com tipos errados. — Confira o parâmetro -Depth do ConvertTo-Json: o padrão é 2 e achata objetos aninhados. O código gerado fixa em 10 justamente por isso.
- Caracteres não ASCII saem corrompidos. — O Windows PowerShell 5.1 usa por padrão uma codificação diferente de UTF-8 no corpo. Passe para o PowerShell 7 ou converta o JSON em bytes UTF-8.
Perguntas frequentes
- curl é o mesmo que Invoke-WebRequest no PowerShell?
- No Windows PowerShell 5.1, curl é um alias de Invoke-WebRequest, e por isso colar um comando curl real falha com erros de parâmetro. O PowerShell 7 removeu o alias.
- Uso Invoke-RestMethod ou Invoke-WebRequest?
- Invoke-RestMethod para APIs, porque converte a resposta JSON em objetos. Invoke-WebRequest devolve a resposta bruta com código de status e cabeçalhos, útil quando esses dados importam.
- Como envio autenticação básica no PowerShell?
- Codifique usuário:senha em Base64 e envie como cabeçalho Authorization. O parâmetro -Credential existe mas só envia credenciais após um desafio que muitas APIs não emitem.
- Por que os parâmetros são separados por crases?
- É o caractere de continuação de linha do PowerShell, que permite dividir uma chamada longa em várias linhas. Precisa ser o último caractere da linha, sem espaços depois.
Ferramentas relacionadas
- cURL to Ruby — Convert a curl command to Ruby Net::HTTP code.
- curl para Python — Converta um comando curl em um script Python com a biblioteca requests.
- cURL para C# — Converte um comando curl em código C# com HttpClient.
- curl para Node.js — Converta um comando curl em uma requisição Node.js com axios.
- curl para Go — Converta um comando curl em código Go usando o pacote net/http.
- cURL para Fetch — Converta um comando curl em uma chamada fetch() de JavaScript.
Todas as ferramentas de ArrayKit