[windows] Run cURL commands from Windows console

Is there a way to install cURL in Windows in order to run cURL commands from the command prompt?

This question is related to windows command-line curl

The answer is


Download the .exe file from https://cygwin.com/install.html for cygwin (a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows).

Run the .exe file.

While installing you will get in a step to select packages. In the select package window --> change the view to "Not installed" and search for curl. click on the necessary packages to install by clicking on the "new" column for the package --> you can see the version number and then click next. ( see the image attached below)enter image description here

After finishing the installation click on the cygwin to open the curl console on windows and work on curl commands.


I have also found that if I put the cygwin bin on my windows path I can run curl from a windows command line. It also will give you access to things like ls and grep


Assuming you are new to the game or are unable to install software because of security restrictions, you could use Scoop to install curl. From a powershell or command window run the following commands. Note this assumes that you have Powershell v3.0+.

The other cool advantage here is that this installs the software for just the current user.

  1. Set execution exception

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

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    
  3. Install curl. You may see a warning about a missing hash, but you should see a final message that cURL was installed successfully

    scoop install curl
    
  4. Test the install of curl

    curl -L https://get.scoop.sh
    

Folks that don't literally need the curl executable, but rather just need to e.g. see or save the results of a GET request now and again, can use powershell directly. From a normal command prompt, type:

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

which, while a bit wordy, is similar to typing

curl http://example.com/

in a more Unix-ish environment.

More information about net.webclient is available here: WebClient Methods (System.Net).

UPDATE: I like how ImranHafeez took this one step further in this answer. I'd prefer a simpler cmd-script however, maybe creating a curl.cmd file containing this:

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

which could be called just like the Unix-ish example above:

curl http://example.com/

For anyone looking for a quick solution, after having standard installed cygwin but finding out curl did not work on a win 10 x64 platform:

Downloading this retired repository, extracting it and running:

git-cmd.bat

Worked like a charm. I assume it has the pre-installed option for curl.


  1. Go to curl Download Wizard
  2. Select curl executable
  3. Select Win32 or Win64
  4. Then select package for it(Eg generic/cygwin) as per your requirement
  5. Then you will have to select version. You can select unspecified.
  6. This will directly take you to download link which on click will give you popup to download the zip file.
  7. Extract the zip to get the executable. Add this folder in your environment variables and you are done. You can then execute curl command from cmd.

it should work perfectly fine if you would download it from --http://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav=MinGW64 -- FOR 64BIT Win7/XP OR from http://curl.haxx.se/dlwiz/?type=bin&os=Win32&flav=-&ver=2000%2FXP --- FOR 32BIT Win7/XP just extract the files to c:/Windows and run it from 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

From Windows Command Prompt, run curl through Git Bash

"C:\\Users\\sizu\\AppData\\Local\\Programs\\Git\\bin\\sh.exe" --login -i -c "curl https://www.google.com"

Install git command line from here. When you install git in windows you will automatically get curl with it. You can check the installed version of curl using curl --version like this.

enter image description here

This is a sample curl request which sends a string in a JSON object and get it encoded.

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

enter image description here


With Windows 10 Insider build 17063 curl is available in the cmd and powershell since early 2018.


I am may be bit late for this, but I am able to resolve my issue of curl at cmd for windows 10.

I got help from below video tutorial https://www.youtube.com/watch?v=qlTVMuONazs

Here is some explanation

Step 1: go to https://curl.haxx.se/download.html

Step 2: Search "Win64 - Generic" and download "Win64 x86_64 7zip" by "Darren Owen"

Step 3: unzip the download file and install the certificate "ca-bundle.crt" do not touch curl.exe

Step 4: in windows go to "Control Panel" -> "System" -> "Advance system settings " Step 5: click on Envirnoment variables

Step 6: In System variable click on "Path" and paste the path of the file folder in my case it is "C:\curl\curl_7_53_1_openssl_nghttp2_x64"

And you are done.

Don't Forgot to restart you system for one time


Simplest answer:

(1) Download the curl binary here: https://curl.haxx.se/download.html (see the binary for your OS). Example:

Choose 64 bit or 32 bit after click

(2) Create a folder "C:\curl" then unzip all there

See the .crt file, it is, the SSL certificate that already comes with curl package

(3) Edit the system variable called "Path" by adding ";C:\curl\bin" in the end. Finished.

enter image description here

Obs.: I've seen some guys telling to add ";C:\curl" but this way it's not possible to access curl.exe.


If you use the Chocolatey package manager, you can install cURL by running this command from the command line or from PowerShell:

choco install curl

Create batch file in windows and enjoy with cURL in 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

I was able to use this site to easily download and install curl on my Windows machine. It took all of 30 seconds. I'm using Windows 7 (w/ Admin privelages), so I downloaded curl-7.37.0-win64.msi from http://curl.haxx.se/download.html.

Also, don't forget to restart your console/terminal after you install curl, otherwise you will get the same error messages.


Currently in Windows 10 build 17063 and later, cURL comes by default with windows. Then you don't need to download it and just use curl.exe.


  1. Visit download page https://curl.haxx.se/download.html - it's incredible
  2. Choose your sytem in list
  3. Don't forget SSL support, it's obvious now, e.g. for https
  4. Unpack curl.exe and .crt to C:\Windows\System32
  5. Restart cmd
  6. Enjoy > curl https://api.stackexchange.com

p.s. If you want another folder to store executable check your paths > echo %PATH%


First you need to download the cURL executable. For Windows 64bit, download it from here and for Windows 32bit download from here After that, save the curl.exe file on your C: drive.

To use it, just open the command prompt and type in:

C:\curl http://someurl.com

Install Git for windows Then use git bash to run curl commands.


If you have Git installed on windows you can use the GNU Bash.... it's built in.

https://superuser.com/questions/134685/run-curl-commands-from-windows-console/#483964


Examples related to windows

"Permission Denied" trying to run Python on Windows 10 A fatal error occurred while creating a TLS client credential. The internal error state is 10013 How to install OpenJDK 11 on Windows? I can't install pyaudio on Windows? How to solve "error: Microsoft Visual C++ 14.0 is required."? git clone: Authentication failed for <URL> How to avoid the "Windows Defender SmartScreen prevented an unrecognized app from starting warning" XCOPY: Overwrite all without prompt in BATCH Laravel 5 show ErrorException file_put_contents failed to open stream: No such file or directory how to open Jupyter notebook in chrome on windows Tensorflow import error: No module named 'tensorflow'

Examples related to command-line

Git is not working after macOS Update (xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) Flutter command not found Angular - ng: command not found how to run python files in windows command prompt? How to run .NET Core console app from the command line Copy Paste in Bash on Ubuntu on Windows How to find which version of TensorFlow is installed in my system? How to install JQ on Mac by command-line? Python not working in the command line of git bash Run function in script from command line (Node JS)

Examples related to curl

What is the incentive for curl to release the library for free? curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number Converting a POSTMAN request to Curl git clone error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 How to post raw body data with curl? Curl : connection refused How to use the curl command in PowerShell? Curl to return http status code along with the response How to install php-curl in Ubuntu 16.04 curl: (35) SSL connect error