Convertir curl a PowerShell

Convierta comandos curl a código PowerShell utilizando Invoke-RestMethod. curl2code se ejecuta completamente en su navegador a través de WebAssembly; sus datos permanecen privados. Para C#, pruebe nuestro conversor de curl a C#. Para Python, vea curl a Python. A continuación se muestran ejemplos de PowerShell listos para usar.

Cómo copiar curl desde su navegador

  1. 1

    Abrir DevTools

    Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.

  2. 2

    Vaya a la pestaña Network

    Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.

  3. 3

    Copiar como cURL

    Haga clic derecho en la solicitud → CopyCopy as cURL. Luego péguelo arriba.

Preguntas frecuentes

¿Qué es PowerShell Invoke-RestMethod?

Invoke-RestMethod es el cmdlet integrado de PowerShell para realizar peticiones HTTP con parseo automático de JSON/XML. Devuelve objetos parseados directamente — sin necesidad de deserialización manual. Disponible en PowerShell 3.0+ y PowerShell Core. curl2code también soporta Invoke-WebRequest, que devuelve la respuesta en bruto.

Invoke-RestMethod vs Invoke-WebRequest — ¿cuál usar?

Invoke-RestMethod parsea automáticamente respuestas JSON/XML en objetos de PowerShell — ideal para trabajar con APIs. Invoke-WebRequest devuelve la respuesta completa con cabeceras, código de estado y contenido en bruto — mejor para depuración y respuestas que no sean JSON. Usa RestMethod para APIs, WebRequest para scraping o diagnósticos. Para un enfoque de .NET similar, consulta curl a C#.

¿Cómo manejar la autenticación en PowerShell?

Para Bearer: Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }. Para Basic auth, usa -Credential (Get-Credential) o -Authentication Basic (PowerShell 6+). PowerShell maneja las credenciales de forma segura con SecureString. curl2code convierte los flags de autenticación en parámetros del cmdlet de PowerShell.

¿Cómo enviar datos de formulario multipart en PowerShell?

PowerShell 6+ soporta -Form @{ file = Get-Item "doc.pdf"; desc = "My file" } para subidas multipart. En Windows PowerShell 5.1, construye el cuerpo multipart manualmente o usa clases de .NET (System.Net.Http.MultipartFormDataContent). curl2code maneja la conversión del flag -F.

¿Cómo manejar errores HTTP en PowerShell?

Usa try/catch: ambos cmdlets lanzan WebException en respuestas que no sean 2xx. Accede a la respuesta con $_.Exception.Response. En PowerShell 7+, usa -SkipHttpErrorCheck para evitar que se lance la excepción y verificar $response.StatusCode manualmente en su lugar.

¿Cómo trabajar con JSON en PowerShell?

Invoke-RestMethod parsea JSON automáticamente en un PSObject. Para conversión manual: $data = $json | ConvertFrom-Json. Para enviar JSON: $body = @{ name = "John" } | ConvertTo-Json. El pipeline de objetos de PowerShell se integra naturalmente con las respuestas de API parseadas para filtrado y transformación.

¿Cómo establecer tiempos de espera en PowerShell?

Usa el parámetro -TimeoutSec 30 en ambos cmdlets. En PowerShell 7+, usa -ConnectionTimeoutSeconds y -OperationTimeoutSeconds para un control detallado. Para reintentos, usa -MaximumRetryCount 3 y -RetryIntervalSec 2 (PowerShell 7.1+).

¿Cómo usar un proxy en PowerShell?

Usa el parámetro -Proxy 'http://proxy:8080'. Para autenticación de proxy: -ProxyCredential (Get-Credential). PowerShell respeta la configuración de proxy del sistema por defecto en Windows. Para omitirlo: -NoProxy (PowerShell 6+). curl2code convierte los flags -x en parámetros de proxy de PowerShell.

¿Cómo enviar una solicitud POST con un cuerpo JSON en PowerShell?

Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a PowerShell usando curl2code. El código generado utiliza Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'. curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de Invoke-RestMethod.

¿Cómo añadir autorización con token Bearer en PowerShell?

Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de Invoke-RestMethod con el encabezado de autorización: -Headers @{ Authorization = 'Bearer YOUR_TOKEN' }. curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.

¿Cómo configurar el encabezado Content-Type en PowerShell?

curl2code convierte curl -H "Content-Type: application/json" URL a código de Invoke-RestMethod con el encabezado correcto: -ContentType 'application/json'. Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de Invoke-RestMethod correcta.

Enlaces útiles

Guías de curl

Convertir curl a otros lenguajes