Is there a Wget or cURL type command line utility native to Windows Vista? How does it work?
8 Answers
Native to Windows (comes preinstalled and depends on the Background Intelligent Transfer Service (BITS) Windows service):
It can do what Wget does, and probably more (you can control an ongoing job via API-like commands - for example you can get the status speed and cancel if it is too slow).
Example usage from my own experience (you can do parallel downloads in the same .bat, or do sequential downloads in the same job):
bitsadmin /create thisissomejobname
bitsadmin /addfile thisissomejobname http://kakao.ro/Pictures.iso C:\john_pictures.iso
bitsadmin /SetCredentials thisissomejobname Server BASIC somehttpuser somehttppassword
bitsadmin /resume thisissomejobname
REM how to get status:
bitsadmin /info thisissomejobname
Note: It works on Windows XP, 7, 8 & 10 (tested on Windows 10 Pro). On Windows XP it must be installed manually from the SP2 Support Tools.
On the latest Windows 10 the deprecation warning is gone, so it looks like this useful tool is here to stay.
-
2check out /SetNotifyCmdLine option if you need to use this command sequentially in a .bat– oxygenOct 26, 2011 at 12:49
-
5Running bitsadmin under Windows 7 displays the following warning:
BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows. Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.
Users beware.– yop83May 31, 2012 at 17:36 -
"Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets." Nothing much to be beware of. Only the BITS client is deprecated, while the BITS service will remain. It will be accessible with another, similar in functionality, client (PowerShell will come preinstalled with future versions of Windows).– oxygenMay 31, 2012 at 20:28
-
3This looks like the alternative to a download manager, not to a HTTP request crafter, doesn't it? Sep 19, 2015 at 17:05
-
1Nice, but it doesn't seem to be able to call SOAP web services, like Curl can...– DABFeb 6, 2020 at 8:35
PowerShell v3 CTP1 comes with a command like wget/curl. It's called Invoke-WebRequest. To learn more, you can visit the post Windows Powershell V3 includes command like wget/curl.
-
2I see both superuser.com/a/25540/106977 and superuser.com/a/330754/106977 refer to Powershell commands. I have not tried either of them, but those links are related to this posting.– bgoodrJun 9, 2012 at 0:42
-
-
-
1As I know,
Invoke-WebRequest
can't ignore certificate errors (a very useful feature for developers). At least in version 3.0 Apr 16, 2018 at 23:28 -
I can't get
Invoke-WebRequest
to ignore certificate errors in PowerShell 5.1, but the documentation in PowerShell 6 includes aSkipCertificateCheck
flag: docs.microsoft.com/en-us/powershell/module/… Jul 16, 2018 at 13:31
I often use PowerShell for simple things, like WebClient's DownloadString:
$wc = New-Object Net.WebClient
$wc.DownloadString('...')
Or DownloadFile
if you want something downloaded like wget
does and package that off into a function. Of course, this is very rough and won't have any of the niceties like resumable downloads and similar.
-
Using
DownloadFile
. it worked when I tried it (PowerShell 2.0):$wc.DownloadFile('http://traffic.libsyn.com/makingembeddedsystems/embedded-ep149.mp3', 'EmbeddedFm_149.mp3')
. However, there is no progress information duríng the download. Apr 29, 2016 at 16:26 -
@PeterMortensen: Of course not. It's just a .NET object. You can attach an event handler to
DownloadProgressChanged
, though. But I guess then you'll also need to use the async variants of the methods.– JoeyApr 29, 2016 at 16:34
It seems you only need to download an alternative browser. You can use this command to download Mozilla Firefox with the command prompt:
explorer.exe http://releases.mozilla.org/pub/mozilla.org/firefox/releases/6.0.2/win32/en-US/Firefox%20Setup%206.0.2.exe
This also launches Internet Explorer, but only with a basic feature set. This should work even if Internet Explorer is broken (in most cases).
You can also use the FTP command. Type the following into the command prompt commands:
- Type
FTP
- Which opens the FTP client - Type
open ftp.mozilla.org
- Which connects to Mozilla-FTP - Just login as Anonymous and use an empty password.
- Type
cd /pub/mozilla.org/firefox/releases/4.0.1/win32/en-US/
-To change the directory - Type
recv "Firefox Setup 4.0.1.exe"
- To download the Firefox installer. The file is located in the current folder of the command prompt. (usually yourProfile
folder) - Type
bye
to close the FTP client - Type
exit
to close the command prompt.
-
3
-
4Um. Seems both topical and an example of using explorer.exe as an alternative. Jan 14, 2015 at 17:40
-
First way error
Unable to launch Microsoft Edge.
while it is not installed, Second way will freeze afteropen
command– a55Dec 20, 2021 at 19:26
There is no Wget alternative really. You can use Wget for Windows and assign the path in your environment variables to get it working how you want.
-
1The problem is, the person I'm working with is getting a browser freeze on launch, and they have no access to another computer.– JordanJun 20, 2011 at 19:48
-
2If they're running through ethernet, get them to boot into safe mode with networking? Jun 20, 2011 at 19:56
Native cURL for Windows is available here. There are many flavors available- with SSL support, without SSL support. You don't need the extra baggage of Cygwin and the likes, just one small EXE file.
-
Great, here's also probably a similar (or the same?) one: curl.se/windows– aderchoxDec 24, 2021 at 4:40
I'd just use Cygwin and install the wanted libraries... I have always done that...
In the past, I searched for alternatives, yes. But Cygwin is just the best tool for the job.
-
3Except it is overkill installing the gazillions of files for a typical Cygwin installation just to get Wget. Apr 29, 2016 at 16:29
-
You get wget, curl, ... and much more. I suppose if you need wget you will probably use some additional linux tools in the future :) - definatly not an every day screnario though May 4, 2016 at 7:46
I've created my own. Check it out at https://github.com/acarrilho/global (at the bottom of the page).
Download the source and, using cmd.exe, navigate to the requester folder. From there, just type http
to see all the settings available. As an example:
http -u "http://www.example.com" -oc
wget.exe
in the IIS Administration Pack.wget
andcurl
are not included in PowerShell. The PowerShellInvoke-WebRequest
cmdlet is aliased as bothwget
andcurl
. It works similarly for very basic requests, but has substantially different parameters.