Ejecute comandos cURL desde la consola de Windows

380

¿Hay alguna manera de instalar cURL en Windows para ejecutar comandos cURL desde el símbolo del sistema?

DomingoSL
fuente
44
y siempre hay vbscript / powershell stackoverflow.com/questions/204759/http-get-in-vbs
Kalpesh Soni
mi curl está instalado en xampp y está habilitado, ¿puedo hacer que funcione en Windows cmd?
Maestro Yoda
1
Noté que la misma pregunta se publicó en SuperUser aquí: superuser.com/questions/134685/…
Simon East
44
A partir de mayo de 2018, con Windows 10 build 1803, puede ejecutar curl directamente desde la consola de Windows: stackoverflow.com/a/50200838/6309
VonC
1
En realidad, el rizo se incluyó desde la compilación
phuclv

Respuestas:

449

Si no estás en Cygwin , puedes usar compilaciones nativas de Windows. Algunos están aquí: curl Download Wizard .

Gabriel Ščerbák
fuente
También msys2, que aún no vi mencionado. Es posible que ya lo tenga si instaló Haskell en algún momento, por ejemplo.
DPM
8
Puede instalar Gity usar git bash. Incorporado después de la instalación. (Ver la respuesta a continuación).
Brogers
167

Primero debes descargar el ejecutable cURL. Para Windows 64bit, descárguelo desde aquí y para Windows 32bit desde aquí. Luego, guarde el curl.exearchivo en su C:unidad.

Para usarlo, simplemente abra command prompty escriba:

C:\curl http://someurl.com
Ricardo Sanchez
fuente
1
Diablos, sí, eso ayudó. Muy fácil. Gracias por publicar.
Adrian Carr
Es realmente importante usar "en lugar de 'si lo va a hacer en Windows :)
comience
144

Si lo ha Gitinstalado en Windows, puede usar el GNU Bash... está integrado.

/superuser/134685/run-curl-commands-from-windows-console/#483964

BRogers
fuente
3
Esto significa que lo ejecutarías como lo harías desde OSX o Linux sin usar comandos especiales por cierto. Simplemente comience Git Bashy cURL lejos :)
BRogers
2
Esta respuesta necesita más votos a favor. Este es el camino a seguir para los usuarios que se sienten cómodos con las distribuciones de terminal de Mac o Unix.
BigRon
1
Gracias :) ya que uso Git principalmente de todos modos (independientemente del sistema operativo que estoy usando) necesito instalar Git Bash. No me gusta instalar asistentes o hinchazón adicional. Tampoco soy un gran fanático de tratar de usar PowerShell para hacer todo en Windows
BRogers
41

Las personas que literalmente no necesitan el curlejecutable, sino que simplemente necesitan, por ejemplo, ver o guardar los resultados de una solicitud GET de vez en cuando, pueden usarlo powershelldirectamente. Desde un símbolo del sistema normal, escriba:

powershell -Command "(new-object net.webclient).DownloadString('http://example.com')"

que, aunque un poco prolijo, es similar a escribir

curl http://example.com/

en un entorno más Unix-ish.

Más información sobre net.webclientestá disponible aquí: Métodos WebClient (System.Net) .

ACTUALIZACIÓN: Me gusta cómo ImranHafeez dio un paso más en esta respuesta . Sin embargo, preferiría un script de cmd más simple, tal vez creando un curl.cmdarchivo que contenga esto:

@powershell -Command "(new-object net.webclient).DownloadString('%1')"

que podría llamarse como el ejemplo de Unix-ish anterior:

curl http://example.com/
matty
fuente
Las credenciales se pueden proporcionar powershell -Command "$wc=new-object net.webclient;$wc.Credentials=new-object System.Net.NetworkCredential(%user%,%pass%);$wc.DownloadString('%input%')"desde stackoverflow.com/a/509394/4985705
Max
ADVERTENCIA: Esto NO pasa los parámetros GET a la página. Usé esto con una página PHP. curl https://www.example.com/mypage.php?action=hello. En el script mypage.php, $_GET['action']está vacío
Stephen R
25

Si usa el administrador de paquetes de Chocolatey , puede instalar cURL ejecutando este comando desde la línea de comandos o desde PowerShell:

choco install curl
Helen
fuente
10

Cree un archivo por lotes en Windows y disfrute con cURL en Windows :)

@echo off
echo You are about to use windows cURL, Enter your url after curl command below:
set /p input="curl "
cls
echo %input%
powershell -Command "(new-object net.webclient).DownloadString('%input%')"
pause
ImranHafeez
fuente
7
  1. Visite la página de descarga https://curl.haxx.se/download.html : es increíble
  2. Elige tu sistema en la lista
  3. No olvide el soporte SSL, es obvio ahora, por ejemplo, para https
  4. Desempaquetar curl.exey .crtparaC:\Windows\System32
  5. Reiniciar cmd
  6. Disfrutar > curl https://api.stackexchange.com

ps Si desea otra carpeta para almacenar ejecutables, verifique sus rutas > echo %PATH%

vladkras
fuente
6

debería funcionar perfectamente si lo descarga desde - http://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav=MinGW64 - PARA 64BIT Win7 / XP O desde http: //curl.haxx. se / dlwiz /? type = bin & os = Win32 & flav = - & ver = 2000% 2FXP --- PARA 32BIT Win7 / XP simplemente extraiga los archivos a c: / Windows y ejecútelos desde cmd

C:\Users\WaQas>curl -v google.com
* About to connect() to google.com port 80 (#0)
*   Trying 173.194.35.105...
* connected
* Connected to google.com (173.194.35.105) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.28.1
> Host: google.com
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 301 Moved Permanently
< Location: http://www.google.com/
< Content-Type: text/html; charset=UTF-8
< Date: Tue, 05 Feb 2013 00:50:57 GMT
< Expires: Thu, 07 Mar 2013 00:50:57 GMT
< Cache-Control: public, max-age=2592000
< Server: gws
< Content-Length: 219
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Cache: MISS from LHR-CacheMARA3
< X-Cache-Lookup: HIT from LHR-CacheMARA3:64003
< Connection: close
<
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
* Closing connection #0
WaQas
fuente
5

Instale Git para Windows Luego use git bash para ejecutar comandos curl.

Parthiban
fuente
este es un duplicado de esta respuesta: stackoverflow.com/questions/2710748/…
wisbucky el
Entonces, ¿cómo llamar a git-bash-curl directamente desde cmd / powershell?
gek
3

También descubrí que si pongo el contenedor cygwin en mi ruta de Windows, puedo ejecutar curl desde una línea de comandos de Windows. También le dará acceso a cosas como ls y grep

kingd9
fuente
¡Puede hacer más que eso si los archivos binarios apropiados están en el directorio Cygwin / bin! Incluso puede llamar a las opciones del compilador de gcc, make, zip, lynx, etc. Sin embargo, existen algunas limitaciones, y probablemente desee ejecutar Windows cmd con privilegios de administrador, luego navegue a su directorio Cygwin o Cygwin64 dentro del símbolo del sistema y luego llame el archivo por lotes de Cygwin. Sin embargo, asegúrese de que en la propiedad de su sistema para las variables de entorno en la ruta, configure la ruta en Cygwin64 / bin /. Ahora puede usar los binarios de Unix para ejecutar dentro de cmd.
Francis Cugler
3

Pude usar este sitio para descargar e instalar fácilmente curl en mi máquina Windows. Tomó todos los 30 segundos. Estoy usando Windows 7 (con privilegios de administrador), así que descargué curl-7.37.0-win64.msi de http://curl.haxx.se/download.html .

Además, no olvide reiniciar su consola / terminal después de instalar curl, de lo contrario recibirá los mismos mensajes de error.

maudulus
fuente
3

Suponiendo que eres nuevo en el juego o no puedes instalar el software debido a restricciones de seguridad, puedes usar Scoop para instalar curl. Desde una ventana de comandos o PowerShell ejecute los siguientes comandos. Tenga en cuenta que esto supone que tiene Powershell v3.0 +.

La otra gran ventaja aquí es que esto instala el software solo para el usuario actual.

  1. Establecer excepción de ejecución

    Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
    
  2. Instalar Scoop

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    
  3. Instalar rizo. Es posible que vea una advertencia sobre un hash perdido, pero debería ver un mensaje final de que cURL se instaló correctamente

    scoop install curl
    
  4. Probar la instalación de curl

    curl -L https://get.scoop.sh
    
Ro Yo Mi
fuente
1
¡Esta tenía la respuesta que estaba buscando escondida a plena vista! iex (new-object net.webclient).downloadstring('https://a.url.here')descargar y ejecutar un script de PS era justo lo que necesitaba.
Quizás veas este nombre.
3

Desde el símbolo del sistema de Windows, ejecute curl a través de Git Bash

"C:\\Users\\sizu\\AppData\\Local\\Programs\\Git\\bin\\sh.exe" --login -i -c "curl https://www.google.com"
Scott Izu
fuente
2
  1. Ir al curl Download Wizard
  2. Seleccionar ejecutable curl
  3. Seleccione Win32 o Win64
  4. Luego, seleccione el paquete (por ejemplo, genérico / cygwin) según sus requisitos
  5. Luego tendrá que seleccionar la versión. Puede seleccionar sin especificar.
  6. Esto lo llevará directamente a un enlace de descarga que al hacer clic le abrirá una ventana emergente para descargar el archivo zip.
  7. Extraiga el zip para obtener el ejecutable. Agregue esta carpeta en sus variables de entorno y ya está. Luego puede ejecutar el comando curl desde cmd.
Aniket Thakur
fuente
2

Descargue el archivo .exe de https://cygwin.com/install.html para cygwin (una gran colección de herramientas GNU y de código abierto que proporcionan una funcionalidad similar a una distribución de Linux en Windows).

Ejecute el archivo .exe.

Durante la instalación, obtendrá un paso para seleccionar paquetes. En la ventana de selección de paquetes -> cambie la vista a "No instalado" y busque curl. haga clic en los paquetes necesarios para instalar haciendo clic en la columna "nuevo" para el paquete -> puede ver el número de versión y luego haga clic en siguiente. (ver la imagen adjunta a continuación)ingrese la descripción de la imagen aquí

Después de finalizar la instalación, haga clic en el cygwin para abrir la consola curl en Windows y trabajar con los comandos curl.

chico al azar
fuente
¿Por qué necesita eso si hay varias respuestas con un enfoque más simple?
Nico Haase
2
@NicoHaase El hecho de que una respuesta sea diferente no significa que sea necesariamente incorrecta. SO debería ser sobre respuestas, no solo lo que la multitud cree que es solo la mejor respuesta ... a veces no lo es. Usé esto y le di un +1 porque es la forma actual de instalarlo.
ΩmegaMan el
1
@NicoHaase Si está ubicado en el punto A en un triángulo y los puntos B y C están a la misma distancia del punto A. Primero le indica a alguien que viaje aleatoriamente al punto B o C y luego que regrese al punto A pero no desde el mismo ruta por la que acabas de viajar. ¿Qué respuesta es correcta: ABCA o ACBA? Como puede ver, hay más de una respuesta válida y ambas valen lo mismo en el curso o el camino que se tomó.
Francis Cugler
2

Puede que llegue un poco tarde para esto, pero puedo resolver mi problema de curl en cmd para Windows 10.

Recibí ayuda del siguiente video tutorial https://www.youtube.com/watch?v=qlTVMuONazs

Aquí hay alguna explicación

Paso 1: ve a https://curl.haxx.se/download.html

Paso 2: Busca "Win64 - Genérico" y descarga "Win64 x86_64 7zip" de "Darren Owen"

Paso 3: descomprima el archivo de descarga e instale el certificado "ca-bundle.crt", no toque curl.exe

Paso 4: en Windows, vaya a "Panel de control" -> "Sistema" -> "Configuración avanzada del sistema" Paso 5: haga clic en Variables del entorno

Paso 6: en la variable del sistema, haga clic en "Ruta" y pegue la ruta de la carpeta de archivos en mi caso es "C: \ curl \ curl_7_53_1_openssl_nghttp2_x64"

Y ya terminaste.

No olvides reiniciar tu sistema por una vez

Kamran Sohail
fuente
1

Instale la línea de comando git desde aquí . Cuando instales git en windows, automáticamente te enrollarás. Puede verificar la versión instalada de curl de curl --versionesta manera.

ingrese la descripción de la imagen aquí

Esta es una solicitud de curl de muestra que envía una cadena en un objeto JSON y la codifica.

curl https://api.base62.io/encode \ --request POST \ --header "Content-Type: application/json" \ --data '{ "data": "Hello world!" }'

ingrese la descripción de la imagen aquí

Ishara Amarasekera
fuente
Entonces, ¿cómo llamar a git-bash-curl directamente desde cmd / powershell?
gek
1

La respuesta más simple:

(1) Descargue el binario curl aquí: https://curl.haxx.se/download.html (vea el binario para su sistema operativo). Ejemplo:

Elija 64 bits o 32 bits después de hacer clic

(2) Cree una carpeta "C: \ curl" y luego descomprima todo allí

Vea el archivo .crt, es decir, el certificado SSL que ya viene con el paquete curl

(3) Edite la variable del sistema llamada "Ruta" agregando "; C: \ curl \ bin" al final. Terminado.

ingrese la descripción de la imagen aquí

Obs .: He visto a algunos chicos diciéndoles que agreguen "; C: \ curl" pero de esta manera no es posible acceder a curl.exe .

Davidson Lima
fuente
1

Con Windows 10 Insider build 17063 curl está disponible en cmd y powershell desde principios de 2018.

Jojo
fuente
0

Para cualquiera que busque una solución rápida, después de haber instalado Cygwin estándar pero descubriendo que curl no funcionó en una plataforma win 10 x64:

Descargando este repositorio retirado, extrayéndolo y ejecutando:

git-cmd.bat

Trabajado como un encanto. Supongo que tiene la opción preinstalada para curl.

a
fuente