Is there a way to install cURL
in windows in order to run cURL
commands from the command prompt?
9 Answers
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.
-
4You 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.– EltarielMay 11, 2012 at 3:24
-
One hard reboot later because I couldn't kill the task - um, you might wanna be careful with this. Feb 26, 2013 at 9:51
-
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.
-
8
-
-
1This is probably the best all around solution since git is useful for many of the things that curl does but source wise. May 3, 2015 at 5:23
-
-
4Newer versions of git-for-windows do not come with curl in the path, you have to run
/mingw64/bin/curl
.– dev0Feb 21, 2018 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 WindowsPATH
folder. By default, this isC:\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
tocurl-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!
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).
-
1Exactly 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!– ArmfootDec 10, 2017 at 21:25
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.
Curl: Command line tool that allows for transferring of files to and from servers.
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/
No need to restart windows but restarting CMD is necessary.
- Install cURL from curl.haxx.se.
- Set Path environment variable according to location of curl.exe in your machine, something like C:\Users\You\cURL
- 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