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

up vote 73 down vote accepted

Download cURL for Windows from here (and be sure to select it from Win32 - Generic way down on the page).

Then place it in a directory inside your PATH environment variable (ie: C:\Windows\System32) or run it with its full path preceding the executable name.

If you place it in a directory that's inside your PATH, make sure to close and then reopen command prompt to make the command available.

  • 4
    You don't need to reopen the console if you put it in a directory on the path, you only need to do that if you change the PATH variable. – Eltariel May 11 '12 at 3:24
  • One hard reboot later because I couldn't kill the task - um, you might wanna be careful with this. – CAD bloke Feb 26 '13 at 9:51
  • Related; can you also install libraries for https? – CodyBugstein Oct 29 '14 at 19:40

If you install Git for Windows you get Curl automatically too. There are some advantages:

  • Git takes care of the PATH setup during installation automatically.
  • You get the GNU bash, a really powerful shell, in my opinion much better than the native Windows console.
  • You get many other useful Linux tools like tail, cat, grep, gzip, pdftotext, less, sort, tar, vim and even Perl.

enter image description here

  • 8
    I didn't know the git bash did the other stuff too :D Thanks a ton! – BRogers Dec 15 '13 at 18:23
  • worked like a charm! – Pedro Apr 26 '14 at 21:04
  • 1
    This is probably the best all around solution since git is useful for many of the things that curl does but source wise. – cchamberlain May 3 '15 at 5:23
  • If you have Git, this is a great solution – Diode Dan Jul 29 '17 at 0:47
  • 3
    Newer versions of git-for-windows do not come with curl in the path, you have to run /mingw64/bin/curl. – dev0 Feb 21 at 15:23

After installing OpenSSL Light, restart Windows, open Command Prompt, then do a test command like:

curl http://www.google.com

If you get HTML tags back, it worked.

How to setup cURL:

  • Download and unzip 64-bit cURL with SSL.
  • Copy the curl.exe file into your Windows PATH folder. By default, this is C:\Windows\System32.
  • Download and install the Visual Studio 2010 C++ Runtime Redistributable 64 bit here.
  • Download the latest bundle of Certficate Authority Public Keys from mozilla.org here.
  • Rename this file from cacert.pem to curl-ca-bundle.crt.
  • Move this file into your Windows PATH folder.

How to test it:

  • Run cmd.exe to open your command prompt.
  • For both commands, you should see a couple pages of the HTML source code. If you see this, cURL is up and running!

Tar and Curl are available on Windows beginning in Insider Build 17063, as part of the Windows toolchain: curl and bsdtar.

Tar: A command line tool that allows a user to extract files and create archives. Outside of PowerShell or the installation of third party software, there was no way to extract a file from cmd.exe. The implementation uses libarchive.

enter image description here

Curl: Command line tool that allows for transferring of files to and from servers.

enter image description here

Note: PowerShell does already offer similar functionality (it has curl and it’s own file extraction utilities).

More info: Tar and Curl Come to Windows!

You can install this "cURL for Windows": cURL for Windows is an MSI installer for cURL, the popular command-line web transfer tool. http://www.confusedbycode.com/curl/

For 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, 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).

  • Exactly what I was looking for! I actually used the DownloadFile method: powershell -Command "(new-object net.webclient).DownloadFile('http://.../somefile', 'file.txt')". You also just taught me how to use the PowerShell without opening its prompt. Thank you matty! – Armfoot Dec 10 '17 at 21:25

No need to restart windows but restarting CMD is necessary.

  1. Install cURL from curl.haxx.se.
  2. Set Path environment variable according to location of curl.exe in your machine, something like C:\Users\You\cURL
  3. Download the certificate file from mozilla.org as linked in one of the answers above, and move it to system32 folder.

I used the answer provided by fuxia to run some bash scripts I had written in Linux on the Windows platform. It works very nicely.

A word of caution though with cURL. I had an issue where I could not use Console interaction when authenticating as described here: https://stackoverflow.com/questions/50724407/curl-command-in-git-bash

If your cURL command requires authentication and you do not want to have the password visible in the command line or stored in your script, you will have to use another solution, like using a password file: https://stackoverflow.com/questions/2594880/using-curl-with-a-username-and-password

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.