Invoke-WebRequest

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

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.

Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlYAMLPHPPythonRubyABAPАссемблерВасикFortran (Профессор)
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++ScalaH и Ё+Программист-бетонщик
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёздыПрограммист (существо)Тернарный операторUnreal MCPИсходный кодSingle-Page ApplicationGiteaForgejoCephIDEДжуниорРепозиторийPostgreSQLSQLiteJQueryБуферWebGLПереполнение буфераХардкодInvoke-WebRequestСкрипт для автоблокировки новых пользователейРазделение диапазоновПроверка диапазоновGeoLite2-Country.mmdbObjective-CProgramBenchComposer 2.5
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplaceФреймворкБыдлокодIndex.phpОхота за жукамиКуМирКлеточный автоматПроцедурное программированиеПоиск файлов в Unix по содержимомуPetoohФункция активации нейронаПерегрузка операторов в PythonЗерокодинг
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3DКнижный PythonMallocСвязный списокSOLIDООПУказательNULLWeLang++XenonRecompFuse.jsОптимизацияТестированиеAmbreon866Реверс-инжинирингКроссплатформенностьJSON
ЛюдиИлья КанторЮрий КлючевскийЭдуард ЛаасЭдвард СноуденСеймур ПейпертПроблемаK!ockyTypeScriptОтладчикБитЭффективный менеджер (IT)TauriReact NativeWindows APIТипPyTorchTensorFlowПарсерNode.jsFastAPIVue.jsSvelteБэкендElectronBroken Object Level AuthorizationМаппингДжастин ФранкельHex-редакторVisual Basic .NETNext.jsDocker ComposeNode modulesIndexedDBDos2unix
Прочее++i + ++iДедлайн%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодачХукCurl cffiВибе-кодингFlutterАппликативный операторВыбрасывание окон из Windows
03ef4f7db0cccdf39bf013566aed31bd.jpg Системы, без которых машина просто откажется работать
СистемыAndroidDOSFreeBSDHaikuЛинуксMenuetOSMacOS (OS X) / Хакинтош / iOSOS/2ReactOSWindows / ВиндаРусОСФантом ОСUnixHarmony OSWindows vs. LinuxАстра ЛинуксMATEKaiOSChimbalixIOS 18WinGetThe Amnesic Incognito Live SystemTemple OSGrapheneOSKernel.orgWindows 3.11NixOSInvoke-WebRequestПереполнение диска в WindowsPagefile.sysHiberfil.sys
СредыGNOMEGNU EmacsKDEЛинус Торвальдс vs x86 64SELinuxWindows UpdateИгры из репозиториевТерминалОптимизация WindowsПасьянс КосынкаEnd of 10Windows AeroАптаймОтечественные операционные системы в образованииPurble PlaceWindows vs Linux, Халяль или ХарамDKMSЯдро Linux
ЛюдиБалмерГенерал ФейлорПоттерингСтоллманТорвальдсФолькердингРуслан КармановRealme (компания)AnduinOSОболочка операционной системыRTOSShelledРеестр WindowsWindows APICompactGUINTFSДемон (программа)ГипервизорSecure BootСистемный трей
Дистрибутивы LinuxArchDebianFedoraFinnixGentooLFSUbuntu (BolgenOS) • СлакаUncom OSTiny10Tiny11Дешёвые ключи для WindowsLinux MintVirtualBoxManjaroДесктопАвтозагрузкаCopilotЖёсткая ссылкаСимлинкKali LinuxDos2unix
Версии виндыWindows 95Windows 98Windows 2000Windows XPWindows VistaWindows 7Windows 8Windows 10Windows 11Windows Phone 7Windows Phone 8ГовносборкиWindows MEWindows ШкольникГрафики в Windows CalculatorKasperskyOSQuick machine recoveryBypassNROCtrl+Shift+Win+BLiquorixСмена обоев рабочего столаAUR
ПользователиАдминБздун • Виндузятник • КрасноглазикЛинуксоидЯблочникФайл подкачкиСпермопроблемыDistro hoppingLinux на сервереВыбрасывание Windows из окнаУдаление Windows с компьютераВыбрасывание окон из Windows
Площадки/s/LORru macru.os.cmpstoplinux.org.ruНеофициальная Windows Вики
Мемы/dev/null • BSD, not LSD • GIFGNOME vs. KDEMac vs. PCOS-tanrm -rfSystem32TRUE-DEATH-PRIMITIVE-LINUX-MITOLLWindows vs LinuxБубенВендекапецГномикиДаунгрейдЕсли бы…Ждём ебилдовКЛБМаздайПатчить KDE2 под FreeBSDПереустановка WindowsПриборчикРаспечатать лицензию на ЛинуксTuxТупые свитчерыФениксНе работай под рутомБлокировка Windows в РоссииОСВзлом Windows через MetasploitЭффект ПьюдипаяTempleOS (аниме)Подтверждение возраста на уровне ОС
Достойные упоминанияAmigaСтарая копипаста:ШindowsЛинуксоидное ХанжествоСкотный Двор имени Линуса Торвальдса