Ejecute el comando Curl en PowerShell
El sistema operativo Windows admite una serie de herramientas de línea de comandos que pueden ser muy útiles en la automatización. curl
es una de estas herramientas útiles que se pueden usar para realizar solicitudes desde o hacia un servidor a través de cualquiera de los protocolos admitidos, como HTTP, HTTPS, FTP, FTPS, SMTP, etc. Esta herramienta de línea de comandos admite algunos de las características adicionales como carga FTP, soporte de proxy, transferencia de reanudación y ancho de banda limitado.
Desde la compilación oficial de Windows 1804, se ha agregado curl
a su cadena de herramientas. Puede verificar esto abriendo el símbolo del sistema de Windows y ejecutando el siguiente comando.
curl --version
Producción :
curl 7.55.1 (windows)
La salida puede cambiar según su instalación de curl.
El curl
en Windows PowerShell
En Windows PowerShell, debe usar el comando curl
de una manera ligeramente diferente que en el símbolo del sistema de Windows. Porque el comando curl
está asignado como un alias al cmdlet Invoke-WebRequest
. Puede verificar esto ejecutando el siguiente comando en una ventana de PowerShell.
Get-Alias -Name curl
Producción :
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Todos estos comandos se resolverán en el proceso de ejecución de comandos de PowerShell. Por lo general, los alias tienen la prioridad más alta. Por lo tanto, debe usar el ejecutable curl.exe
directamente en PowerShell en lugar de curl
. Puede usar el cmdlet Get-Command
para ver cómo se resuelven estos dos comandos en tiempo de ejecución.
Get-Command curl
Producción :
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Get-Command curl.exe
Producción :
CommandType Name Version Source
----------- ---- ------- ------
Application curl.exe 7.55.1.0 C:\Windows\system32\curl.exe
La conclusión es que si necesita usar el curl
(igual que en el símbolo del sistema de Windows) en PowerShell, entonces debe llamar al ejecutable curl (curl.exe
) directamente. De lo contrario, debe apegarse al alias curl
de PowerShell que se resuelve en el cmdlet Invoke-WebRequest
debajo del capó.
La sintaxis curl
en PowerShell
curl.exe [options] <url>
Puede ejecutar el siguiente comando para obtener más información sobre el comando curl
y sus opciones como -a
, -C
, etc…
curl.exe --help
Producción :
Usage: curl [options...] <url>
-a, --append Append to target file when uploading
.
.
.
-C, --continue-at <offset> Resumed transfer offest
Escenarios de ejemplo
Muestra la página web HTML devuelta como respuesta.
curl.exe https://www.google.com
Muestra la respuesta, el encabezado de solicitud y el encabezado de respuesta.
curl.exe -v https://www.google.com
Muestra la información del encabezado.
curl.exe -I https://www.google.com
Guarda la información del encabezado en un archivo llamado file1.txt
.
curl.exe -I https://www.google.com -o file1.txt
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.