I know I can download and install the aformentioned library (wget for Windows), but my question is this:
In Windows PowerShell, is there a native alternative to wget
?
I need wget
simply to retrieve a file from a given URL with HTTP GET. For instance:
wget http://www.google.com/
asked Nov 28, 2011 at 9:56
1
Here’s a simple PS 3.0 and later one-liner that works and doesn’t involve much PS barf:
wget http://blog.stackexchange.com/ -OutFile out.html
Note that:
wget
is an alias forInvoke-WebRequest
- Invoke-WebRequest returns a HtmlWebResponseObject, which contains a lot of useful HTML parsing properties such as Links, Images, Forms, InputFields, etc., but in this case we’re just using the raw Content
- The file contents are stored in memory before writing to disk, making this approach unsuitable for downloading large files
-
On Windows Server Core installations, you’ll need to write this as
wget http://blog.stackexchange.com/ -UseBasicParsing -OutFile out.html
-
Prior to Sep 20 2014, I suggested
(wget http://blog.stackexchange.com/).Content >out.html
as an answer. However, this doesn’t work in all cases, as the
>
operator (which is an alias forOut-File
) converts the input to Unicode.
If you are using Windows 7, you will need to install version 4 or newer of the Windows Management Framework.
You may find that doing a $ProgressPreference = "silentlyContinue"
before Invoke-WebRequest
will significantly improve download speed with large files; this variable controls whether the progress UI is rendered.
answered Dec 26, 2013 at 6:47
Warren RumakWarren Rumak
3,3871 gold badge15 silver badges5 bronze badges
17
If you just need to retrieve a file, you can use the DownloadFile method of the WebClient object:
$client = New-Object System.Net.WebClient
$client.DownloadFile($url, $path)
Where $url
is a string representing the file’s URL, and $path
is representing the local path the file will be saved to.
Note that $path
must include the file name; it can’t just be a directory.
answered Nov 28, 2011 at 10:20
11
There is Invoke-WebRequest
in the upcoming PowerShell version 3:
Invoke-WebRequest http://www.google.com/ -OutFile c:\google.html
answered Aug 10, 2012 at 23:38
user4514user4514
1,3121 gold badge10 silver badges14 bronze badges
9
It’s a bit messy but there is this blog post which gives you instructions for downloading files.
Alternatively (and this is one I’d recommend) you can use BITS:
Import-Module BitsTransfer
Start-BitsTransfer -source "http://urlToDownload"
It will show progress and will download the file to the current directory.
answered Nov 28, 2011 at 10:18
4
PowerShell V4 One-liner:
(iwr http://blog.stackexchange.com/).Content >index.html`
or
(iwr http://demo.mediacore.tv/files/31266.mp4).Content >video.mp4
This is basically Warren’s (awesome) V3 one-liner (thanks for this!) — with just a tiny change in order to make it work in a V4 PowerShell.
Warren’s one-liner — which simply uses wget
rather than iwr
— should still work for V3 (At least, I guess; didn’t tested it, though). Anyway. But when trying to execute it in a V4 PowerShell (as I tried), you’ll see PowerShell failing to resolve wget
as a valid cmdlet/program.
For those interested, that is — as I picked up from Bob’s comment in reply to the accepted answer (thanks, man!) — because as of PowerShell V4, wget
and curl
are aliased to Invoke-WebRequest
, set to iwr
by default. Thus, wget
can not be resolved (as well as curl
can not work here).
answered May 25, 2014 at 10:22
eyecatchUpeyecatchUp
1851 silver badge7 bronze badges
If your Windows is new enough (like version 1809 or newer), there’s a «real» curl available. curl has the command-Line option «-O» (capital letter O; small letter won’t do the same!) The option «-O», alternatively «—remote-name» tells curl, that the saved file gets the same name as the file-name part of the URL.
One needs to start this as «curl.exe», to discern it from the Alias «curl» for «Invoke-WebRequest». Incidentally it works in cmd.exe without changes.
Using the same example as in another answer here
curl.exe -O http://demo.mediacore.tv/files/31266.mp4
(The site won’t allow me to add this as a comment, since I apparently need more «reputation» for that — so it gets a new answer)
answered Mar 4, 2019 at 13:25
DweiaDweia
911 silver badge3 bronze badges
Here is a PowerShell function that resolves short URLs before downloading the file
function Get-FileFromUri {
param(
[parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
[string]
[Alias('Uri')]
$Url,
[parameter(Mandatory=$false, Position=1)]
[string]
[Alias('Folder')]
$FolderPath
)
process {
try {
# resolve short URLs
$req = [System.Net.HttpWebRequest]::Create($Url)
$req.Method = "HEAD"
$response = $req.GetResponse()
$fUri = $response.ResponseUri
$filename = [System.IO.Path]::GetFileName($fUri.LocalPath);
$response.Close()
# download file
$destination = (Get-Item -Path ".\" -Verbose).FullName
if ($FolderPath) { $destination = $FolderPath }
if ($destination.EndsWith('\')) {
$destination += $filename
} else {
$destination += '\' + $filename
}
$webclient = New-Object System.Net.webclient
$webclient.downloadfile($fUri.AbsoluteUri, $destination)
write-host -ForegroundColor DarkGreen "downloaded '$($fUri.AbsoluteUri)' to '$($destination)'"
} catch {
write-host -ForegroundColor DarkRed $_.Exception.Message
}
}
}
Use it like this to download the file to the current folder:
Get-FileFromUri http://example.com/url/of/example/file
Or to download the file to a specified folder:
Get-FileFromUri http://example.com/url/of/example/file C:\example-folder
answered Aug 12, 2014 at 10:48
The following function will get a URL.
function Get-URLContent ($url, $path) {
if (!$path) {
$path = Join-Path $pwd.Path ([URI]$url).Segments[-1]
}
$wc = New-Object Net.WebClient
$wc.UseDefaultCredentials = $true
$wc.Proxy.Credentials = $wc.Credentials
$wc.DownloadFile($url, $path)
}
Some comments:
- The last 4 lines are only needed if you are behind an authenticating proxy. For simple use,
(New-Object Net.WebClient).DownloadFile($url, $path)
works fine. - The path must be absolute, as the download is not done in your current directory, so relative paths will result in the download getting lost somewhere.
- The
if (!$path) {...}
section handles the simple case where you just want to download the file to the current directory using the name given in the URL.
answered Dec 15, 2014 at 15:26
Paul MoorePaul Moore
5611 gold badge5 silver badges9 bronze badges
Invoke-WebRequest with -outfile parameter expects a string, so if your filename starts with a number, and not enclosed in quotes, no output file is created.
eg. Invoke-WebRequest -Uri "http://www.google.com/" -outfile "2.pdf"
This does not affect filenames starting with a letter.
answered Nov 27, 2018 at 18:05
ZimbaZimba
1,06111 silver badges15 bronze badges
4
PowerShell Invoke-RestMethod may have fewer dependencies than other methods … in case you have a minimal (or older) Windows Server installed.
See error reported at Running Invoke-WebRequest as System account:
Invoke-WebRequest : The response content cannot be parsed because the
Internet Explorer engine is not available, or Internet Explorer’s
first-launch configuration is not complete. Specify the
UseBasicParsing parameter and try again.
This can be an alternative to applying the -UseBasicParsing
option that is, in some cases, required with wget
or Invoke-WebRequest
.
However, the displayed response may be in a different format, based on data parsing:
PowerShell formats the response based to the data type. For an RSS or
ATOM feed, PowerShell returns the Item or Entry XML nodes. For
JavaScript Object Notation (JSON) or XML, PowerShell converts, or
deserializes, the content into [PSCustomObject] objects.
answered Jan 7, 2022 at 22:37
This should work for you to get around the no browser initialized stuff. Note the «-UseBasicParsing» param.
Invoke-WebRequest http://localhost -UseBasicParsing
answered Apr 27, 2019 at 20:13
1
You must log in to answer this question.
Not the answer you’re looking for? Browse other questions tagged
.
Not the answer you’re looking for? Browse other questions tagged
.
Есть ли аналог wget в windows?
-
Вопрос задан
-
16787 просмотров
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@Jump Куратор тега Windows
Системный администратор со стажем.
Как вам уже ответил Rikcon есть собственно сам wget под windows.
Из аналогов, т.е консольных клиентов для скачивания могу порекомендовать aria2 — эта консольная утилита способна скачивать с HTTP, HTTPS, FTP, BitTorrent и Metalink.
Как все сложно
Import-Module bitstransfer
start-bitstransfer -source google/googe.tar -destination c:\google.tar
Комментировать
В CygWin не только он есть.
Комментировать
Похожие вопросы
-
Показать ещё
Загружается…
09 окт. 2023, в 10:05
30000 руб./за проект
09 окт. 2023, в 10:04
60000 руб./за проект
09 окт. 2023, в 10:01
10000 руб./за проект
Минуточку внимания
Извлеките файлы, используя популярные интернет-протоколы бесплатно
WGET представляет собой бесплатное программное обеспечение GNU, предназначенное для извлечения файлов с использованием самых популярных доступных интернет-протоколов, включая FTP, FTPS, HTTP и HTTPS. Даже с большими файлами или зеркалированием…
- Интернет и сети
- Менеджеры загрузки
-
Cyotek WebCopy – это инструмент, который позволяет загружать веб-страницы для последующего чтения без подключения к Интернету. После сканирования контента…
Является ли это приложение хорошей альтернативой приложению WGET?
-
VisualWget – это менеджер загрузок, основанный на основном ретривере Wget. Он отличается от него тем, что предоставляет интерфейс для удобного управления…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Исправления (сообщения об ошибках back_add), очистка кода (повторный вход), изменен API/ABI, исправлены ошибки потребления памяти.
Является ли это приложение хорошей альтернативой приложению WGET?
-
Является ли это приложение хорошей альтернативой приложению WGET?
-
BlackWidow – это интернет-инструмент, который позволит вам выполнять различные функции, в том числе «обнюхивать» веб-сайты на наличие загружаемого контента…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Помните времена коммутируемых подключений, когда, чтобы сэкономить деньги, вы пытались сохранить и загрузить как можно больше страниц, чтобы прочитать их…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Новый пользовательский интерфейс.
Является ли это приложение хорошей альтернативой приложению WGET?
-
Загрузки — одна из самых полезных вещей в Интернете, а также одна из самых сложных для незаметного выполнения.Если вам нужно скачать файлы, но вы не хотите…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Teleport Pro – это хорошая пробная версия программного обеспечения для Windows, относящаяся к категории Загрузка программного обеспечения с парсерами…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Является ли это приложение хорошей альтернативой приложению WGET?
-
Более быстрая конверсия ссылок Показывает все ссылки для веб-сайта Показывает структуру каталогов Улучшенная поддержка DHTML Несколько URL-адресов в одном…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Является ли это приложение хорошей альтернативой приложению WGET?
-
FlareGet — это менеджер загрузок, изначально работающий в системах Linux. Он разработан с использованием фреймворка Qt и написан на C. Он предлагает широкий…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Neat Download Manager – это менеджер загрузок, который можно использовать как с Mac OS, так и с Windows. Приложение ускоряет загрузку файлов из Интернета и…
Является ли это приложение хорошей альтернативой приложению WGET?
-
BackStreet Browser – это полезная пробная версия программы для Windows, входящая в категорию Загружаемое программное обеспечение. с парсерами подкатегории.
Является ли это приложение хорошей альтернативой приложению WGET?
-
Internet Download Manager — это инструмент диспетчера загрузки , который сортирует все: файлы, изображения, видео … Он идеально подходит для оптимизации…
Является ли это приложение хорошей альтернативой приложению WGET?
-
FlashGet определенно сделает вашу жизнь намного проще, если вы загрузите столько программного обеспечения, сколько и нам! Несколько лет назад эти менеджеры…
Является ли это приложение хорошей альтернативой приложению WGET?
-
jDownloader — это файловый загрузчик, который позволяет быстро и эффективно загружать файлы из служб хостинга файлов, таких как Mediafire, 4Shared и другие.
Является ли это приложение хорошей альтернативой приложению WGET?
-
Скачать Accelerator Manager (также известный как DAM ) — бесплатный менеджер загрузки через Интернет, который поможет управлять и ускорять загрузку. Если…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Lightning Download – это менеджер загрузок, который помогает ускорить загрузку из Интернета.Его цель – гарантировать, что вы больше никогда не столкнетесь с…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Web Gallery Downloader — это бесплатное программное обеспечение для Windows, относящееся к категории «Менеджеры загрузки» .
Является ли это приложение хорошей альтернативой приложению WGET?
-
MDownloader – это бесплатная (gpl) программа для Windows, относящаяся к категории Загрузка программного обеспечения с подкатегорией Download Managers…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Download Accelerator Plus — это ускоритель интернет-загрузки, который утверждает, что увеличивает скорость загрузки на 300% и предоставляет вам целый ряд…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Является ли это приложение хорошей альтернативой приложению WGET?
-
Charles — это мощный инструмент HTTP-прокси/HTTP-монитора/обратного прокси-сервера, который позволяет разработчику просматривать весь HTTP-трафик между…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Является ли это приложение хорошей альтернативой приложению WGET?
-
В дни, когда не было широкополосной связи, я часто кропотливо сохранял страницы с веб-сайта одну за другой до тех пор, пока не отключался от сети, чтобы…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Если вы активно пользуетесь как Rapidshare, так и Megaupload, использование двух отдельных администраторов для управления загрузкой и скачиванием может…
Является ли это приложение хорошей альтернативой приложению WGET?
-
WebCopier – это хорошая пробная версия программного обеспечения для Windows, относящаяся к категории Загружаемое программное обеспечение с парсерами…
Является ли это приложение хорошей альтернативой приложению WGET?
-
Active WebTraffic — это пробная версия программы, доступная только для Windows и относящаяся к категории Веб-сайты и блоги с подкатегориями SEO-инструментов.
Является ли это приложение хорошей альтернативой приложению WGET?
I come from a Linux/Unix background and I have been wondering if Windows has a binary that can download files from the console.
I would like to automate a certain process and one of my requirements it to not install much software, but use the built-in stuff as much as possible.
Thanks!
asked Mar 1, 2013 at 12:39
4
Powershell.
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($source, $dest)
There’s also Invoke-WebRequest in PS 3.0.
answered Mar 1, 2013 at 13:49
Ryan RiesRyan Ries
55.5k10 gold badges142 silver badges199 bronze badges
2
I like http-ping utility. You can run with these settings:
ping once and save the contents to google.html
http-ping.exe -n 1 http://www.google.com/ -f google.html
It does not require installation. Check more about http-ping here
answered Sep 25, 2014 at 13:10
mstrumylamstrumyla
891 silver badge2 bronze badges
You must log in to answer this question.
Not the answer you’re looking for? Browse other questions tagged
.
Not the answer you’re looking for? Browse other questions tagged
.
GNU Wget — это бесплатный программный пакет для извлечения файлов с использованием HTTP(S) и FTP, наиболее широко используемых интернет-протоколов. Это неинтерактивный инструмент командной строки, поэтому его легко вызывать из сценариев, «отложенных» команд, терминалов без поддержки X-Windows и т.д.
-
152 -
aria2 — это кроссплатформенная утилита загрузки с несколькими протоколами и несколькими источниками.
- Бесплатная
- Windows
- Android
- Mac OS
aria2 — это кроссплатформенная утилита загрузки с несколькими протоколами и несколькими источниками. Поддерживаемые протоколы: HTTP (S), FTP, BitTorrent (DHT, PEX, MSE / PE) и Metalink.
-
125 -
uGet — это легкий и полнофункциональный менеджер загрузок для Linux и Windows.
- Бесплатная
- Windows
- Android
uGet — это легкий и полнофункциональный менеджер загрузок для Linux и Windows. uGet позволяет загружать несколько параллельных потоков для ускорения загрузки, помещения файлов в очередь загрузки, приостановки и возобновления загрузки, расширенного управления категориями, интеграции с браузером, мониторинга буфера обмена, пакетной загрузки, локализации на более чем 25 языках и много других функций.
-
115 -
cURL — проект компьютерного программного обеспечения, предоставляющий библиотеку и инструмент командной строки для передачи данных.
- Бесплатная
- Windows
- Mac OS
cURL — это компьютерный программный проект, предоставляющий библиотеку и инструмент командной строки для передачи данных с использованием различных протоколов с синтаксисом URL: поддержка FTP, FTPS, SCP, SFTP, HTTP, HTTPS, TFTP, TELNET, DICT, LDAP, LDAPS и FILE.
-
40 -
Cyotek WebCopy — это бесплатный инструмент для локального копирования веб-сайтов.
- Бесплатная
- Windows
Cyotek WebCopy — это бесплатный инструмент для локального копирования веб-сайтов на жесткий диск для просмотра в автономном режиме.
-
35 -
UnMHT добавляет поддержку чтения / записи MHT-файлов в Firefox.
- Бесплатная
- Windows
- Mac OS
UnMHT добавляет поддержку чтения / записи MHT-файлов в Firefox.
-
26 -
httpie — HTTPie — это CLI, похожий на cURL инструмент для людей.
- Бесплатная
- Windows
- Mac OS
httpie — HTTPie — это CLI, похожий на cURL инструмент для людей.
-
18 -
PageArchiver (ранее Scrapbook for SingleFile) — это расширение Chrome, которое помогает архивировать веб-страницы для чтения в автономном режиме.
- Бесплатная
- Windows
- Mac OS
PageArchiver (ранее Scrapbook for SingleFile) — это расширение Chrome, которое помогает архивировать веб-страницы для чтения в автономном режиме.
-
15 -
MacOS-приложение, которое автоматически загружает сайты из Интернета.
- Платная
- iPhone
- Mac OS
SiteSucker — это приложение для Macintosh, которое автоматически загружает веб-сайты из Интернета. Это выполняется путем асинхронного копирования веб-страниц сайта, изображений, PDF-файлов, таблиц стилей и других файлов на локальный жесткий диск, дублируя структуру каталогов сайта.
-
13 -
RESTClient может использоваться для тестирования различных HTTP-коммуникаций и веб-сервисов RESTful.
- Бесплатная
- Windows
- Mac OS
RESTClient может использоваться для тестирования различных HTTP-коммуникаций и веб-сервисов RESTful. Дружественный графический интерфейс, богатые функциональные возможности.