Invoke-WebRequest
Invoke-WebRequest — известная команда в Power Shell, которая позволяет скачать что-то из интернета.
Описание[править]
Invoke-WebRequest был введён в Windows PowerShell 3.0 вместе с Invoke-RestMethod. До этого для HTTP-запросов приходилось использовать классы .NET (System.Net.WebClient или System.Net.HttpWebRequest), что было гораздо менее удобным. Интересно, что первое время он использовал устаревший парсер Internet Explorer, что приводило к проблемам совместимости и зависимости от IE, который как известно работал херово.
Только в весьма последовательной версии парсинг HTML был переписан на основе библиотеки AngleSharp, и только в 2020 году по умолчанию изменилась кодировка запросов на UTF-8 (который является фактически стандартом для большей части интернетов).
Нынче это вполне современная команда для всирания в сеть, поддерживает все основные HTTP-методы (GET, POST, PUT, DELETE, PATCH и др.), аутентификацию, cookies, сессии, сертификаты клиента, прокси и обработку ошибок.
Так, скажем, чтобы скачать файл, надобно громко закукарекать прямо в консоль:
Invoke-WebRequest -Uri "https://example.com/file.zip" -OutFile "C:\Downloads\file.zip" -Resume
Аналоги[править]
Торадиционные юниксовые curl и wget, которые при наличии желания вполне можно докукарекать в Windows.