cURL a PowerShell

Pega un comando curl y obtén un script de PowerShell con Invoke-RestMethod y un entrecomillado que no se come tu token.

cURL a PowerShell convierte en tu navegador. Los comandos con tokens o credenciales no salen de tu dispositivo.

Abrir cURL a C#

Acerca de cURL to PowerShell

Pegar un comando curl en PowerShell casi nunca funciona, y no solo porque cambien los flags. PowerShell interpola variables dentro de las comillas dobles, así que un token con un signo de dólar se convierte en silencio en una cadena vacía y la petición devuelve 401 sin más pistas. Este conversor emite literales entre comillas simples, que PowerShell trata como texto en bruto. Las cabeceras se convierten en hashtable y un cuerpo JSON pasa por ConvertTo-Json para que puedas editarlo antes de enviarlo.

Características

Cómo usar cURL to PowerShell

  1. Copia el comando curl de la documentación
  2. Pégalo en el panel izquierdo
  3. Revisa el PowerShell generado a la derecha
  4. Cópialo o descárgalo como fichero .ps1

Ejemplo

Entrada

curl https://api.example.com/users -H "X-Api-Key: abc123"

Salida

$headers = @{
    'X-Api-Key' = 'abc123'
}

$response = Invoke-RestMethod `
    -Uri 'https://api.example.com/users' `
    -Method GET `
    -Headers $headers

Las comillas simples mantienen el valor literal, contenga los caracteres que contenga.

Errores comunes y solución de problemas

Preguntas frecuentes

¿curl es lo mismo que Invoke-WebRequest en PowerShell?
En Windows PowerShell 5.1, curl es un alias de Invoke-WebRequest, y por eso pegar un comando curl real falla con errores de parámetros. PowerShell 7 eliminó el alias.
¿Uso Invoke-RestMethod o Invoke-WebRequest?
Invoke-RestMethod para API, porque convierte la respuesta JSON en objetos. Invoke-WebRequest devuelve la respuesta cruda con código de estado y cabeceras, útil cuando esos datos importan.
¿Cómo envío autenticación básica en PowerShell?
Codifica usuario:contraseña en Base64 y pásalo como cabecera Authorization. El parámetro -Credential existe pero solo envía credenciales tras un desafío que muchas API no emiten.
¿Por qué los parámetros van separados con tildes invertidas?
Es el carácter de continuación de línea de PowerShell, que permite repartir una llamada larga en varias líneas. Debe ser el último carácter de la línea, sin espacios detrás.

Herramientas relacionadas

Todas las herramientas de ArrayKit