Как я могу загрузить что-то из Интернета напрямую, не открывая Internet Explorer или Firefox Acrobat Reader / Quicktime / MS Word / что угодно?
Я использую Windows, поэтому подойдет версия Wget для Windows .
Как я могу загрузить что-то из Интернета напрямую, не открывая Internet Explorer или Firefox Acrobat Reader / Quicktime / MS Word / что угодно?
Я использую Windows, поэтому подойдет версия Wget для Windows .
Ответы:
Wget для Windows должен работать.
Из Wget Wiki FAQ :
GNU Wget - это бесплатная сетевая утилита для извлечения файлов из World Wide Web с использованием HTTP и FTP, двух наиболее широко используемых интернет-протоколов. Он работает не в интерактивном режиме, что позволяет работать в фоновом режиме после выхода из системы.
Из этого раздела FAQ предлагаются ссылки для скачивания:
Windows Binaries
любезно предоставлено Ерней Симончич: http://eternallybored.org/misc/wget/
от sourceforge: http://gnuwin32.sourceforge.net/packages/wget.htm
[...]
Ссылка с любезности Jernej Simončič используется вместо этого.
Альтернатива, которую я недавно обнаружил, используя PowerShell:
$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")
Это работает также с запросами GET.
Если вам нужно указать учетные данные для загрузки файла, добавьте следующую строку между ними:
$client.Credentials = Get-Credential
Появится стандартная подсказка учетных данных Windows. Учетные данные, которые вы введете, будут использоваться для загрузки файла. Вам нужно сделать это только один раз за все время использования объекта $ client.
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt','C:\tmp\file.txt')
Если у вас PowerShell> = 3.0, вы можете использовать Invoke-WebRequest
Invoke-WebRequest -OutFile index.html http://superuser.com
Или в гольф
iwr -outf index.html http://superuser.com
System.Net.WebClient
. Однако вы можете сделать Invoke-WebRequest
работу, добавив -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox
.
wget
или curl -O
, curl --remote-name
или curl -J
?)
Windows имеет собственную утилиту загрузки из командной строки - BITSAdmin :
BITSAdmin - это инструмент командной строки, который вы можете использовать для создания заданий загрузки или выгрузки и отслеживания их выполнения.
РЕДАКТИРОВАТЬ : 26.01.15 - Вот мой обзор того, как файл может быть загружен в Windows без внешних инструментов
И полный пример битсадмина:
bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:\10mb.zip
Редактировать : 15.05.2018 - оказалось, что можно скачать файл и с certutil :
certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip
Certutil не устанавливается по умолчанию в XP / Win2003, но доступен в более новых версиях Windows. Для XP / 2003 вам понадобится Admin Tool Pack для Windows Server 2003
Сохраните следующий текст как wget.js
и просто позвоните
cscript /nologo wget.js http://example.com
Это код:
var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
WinHttpReq.Open("GET", WScript.Arguments(0), /*async=*/false);
WinHttpReq.Send();
WScript.Echo(WinHttpReq.ResponseText);
/* To save a binary file use this code instead of previous line
BinStream = new ActiveXObject("ADODB.Stream");
BinStream.Type = 1;
BinStream.Open();
BinStream.Write(WinHttpReq.ResponseBody);
BinStream.SaveToFile("out.bin");
*/
Существует родной Curl для Windows , доступной здесь . Доступно много вариантов - с поддержкой SSL и без нее.
Вам не нужен дополнительный багаж Cygwin и тому подобное, всего один маленький EXE-файл.
Также важно знать, что есть wget
и curl
псевдонимы, и встроенные во все современные версии Windows Powershell. Они эквивалентны.
Никаких дополнительных файлов или загрузок не требуется для получения wget
функциональности:
Использование Curl In Powershell (общительный гик)
Выдержка:
Вы можете ввести команду cURL, например, которая загружает файл из репозитория GitHub.
и будет казаться, что это работает, но на самом деле он просто использует cURL в качестве псевдонима. В приведенном выше примере вы получите заголовки вместо самого файла.
Псевдонимы в PowerShell позволяют создавать ярлыки для более длинных команд, поэтому вам не нужно вводить их все время.
Если вы введете команду Get-Alias, она выдаст вам список всех псевдонимов, которые используются в PowerShell. Как видите, команда curl просто вызывает команду Invoke-WebRequest. Они похожи, но не одинаковы, поэтому вышеупомянутый запрос не работает для нас.
Чтобы заставить это работать должным образом в PowerShell, проще всего использовать переменные и -OutFile
аргумент, как показано здесь:
(имя файла обрезано на изображении « https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json »)
Этот синтаксис загружает все содержимое целевого файла azuredeploy.json
в локальный файлnewfile.json
Основное преимущество заключается в том, что он встроен в сам Powershell, поэтому этот код будет выполняться напрямую без загрузок или каких-либо других дополнительных созданий файлов, необходимых для его работы в любой современной версии Windows.
Я сделал быстрый файл myGet.bat, который вызывает метод PowerShell, описанный выше.
@Echo OFF
SetLocal EnableDelayedExpansion
Set Var=%1
Set Var=!Var:http://=!
Set Var=!Var:/=,!
Set Var=!Var:%%20=?!
Set Var=!Var: =?!
Call :LOOP !var!
Echo.Downloading: %1 to %~p0!FN!
powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('%1','%~p0!FN!')
GoTo :EOF
:LOOP
If "%1"=="" GoTo :EOF
Set FN=%1
Set FN=!FN:?= !
Shift
GoTo :LOOP
Я позаимствовал некоторый код из парсинга URL для имени файла с пробелом .
powershell.exe -Command "Invoke-WebRequest -OutFile ./file-name https://location/file-name"
<- Простое использование PowerShell в одной строке в точном месте кодирования файла сценария и имени файла.
Я искал то же самое, и, поскольку у меня не было привилегий для установки любого из вышеперечисленных пакетов, я выбрал небольшой обходной путь (для загрузки более 30 файлов):
firefox.exe
в начале каждой строкиProgram Files
Если PowerShell является опцией, это предпочтительный маршрут, поскольку вам (потенциально) не придется устанавливать ничего лишнего:
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t')
В противном случае Wget для Windows, как уже отмечали другие, определенно является вторым лучшим вариантом. Как написано в другом ответе, похоже, что вы можете загрузить Wget самостоятельно или взять его как часть Cygwin или MSys .
Если по какой-то причине вы застряли во временной деформации, используя компьютер без PowerShell, и у вас нулевой доступ к работающему веб-браузеру (то есть Internet Explorer - единственный браузер в системе и его настройки повреждены), и ваш файл находится на FTP-сайте (в отличие от HTTP):
start->run "FTP", press "OK".
Если память используется, она существует со времен Windows 98, и я могу подтвердить, что она все еще есть в Windows 8 RTM (возможно, вам придется войти appwiz.cpl
и добавить / удалить функции, чтобы получить ее). Эта утилита может загружать и загружать файлы на / с FTP-сайтов в Интернете. Он также может быть использован в сценариях для автоматизации любой операции.
Этот встроенный инструмент был для меня реальным спасением жизни в прошлом, особенно во времена ftp.cdrom.com - я однажды скачал Firefox таким образом, на полностью сломанной машине, на которой был только коммутируемый Интернет. подключение (назад, когда максимальный размер пакета sneakernet был все еще 1.44 МБ, и Firefox все еще назывался "Netscape" / me делает trollface ).
Пара советов: это собственный командный процессор и собственный синтаксис. Попробуйте ввести «помощь». Все FTP-сайты требуют имя пользователя и пароль; но если они разрешают «анонимных» пользователей, имя пользователя «анонимный», а пароль - ваш адрес электронной почты (вы можете создать его, если не хотите, чтобы его отслеживали, но обычно есть какая-то логика, чтобы убедиться, что это действительный адрес электронной почты).
C:\tmp\file.tx??t
У Cygwin есть Wget (и многие другие утилиты).
И http://www.httrack.com/ имеет приятный графический интерфейс (и он бесплатный) для зеркалирования сайтов. Он также имеет версию для Linux.
Вы также можете использовать wget
пакет в PowerShell . ; ^) Чтобы открыть, нажмите клавишу Windows и введите «powershell» или Windows-R, введите «powershell» и нажмите return.
Нет необходимости установки.
Одно интересное отличие от обычного wget
(подробнее по этой ссылке ): вы не можете просто использовать большее, чем для передачи в файл. wget
в PowerShell это просто удобная оболочка Invoke-WebRequest
, и вам нужно использовать ее синтаксис для записи в файл.
wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
-OutFile
сделал работу!
Вы можете получить WGet для Windows здесь . В качестве альтернативы вы можете щелкнуть правой кнопкой мыши ссылку для загрузки элемента, который хотите загрузить, и выбрать «Сохранить как». Это загрузит файл, а не откроет его в назначенном приложении.
Поиск /download
функции на https://lolbas-project.github.io .
Прямо сейчас есть Bitsadmin.exe
, Certutil.exe
, Esentutl.exe
, Expand.exe, Extrac32.exe
, Findstr.exe
, Hh.exe
, Ieexec.exe
, Makecab.exe
, Replace.exe
для Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 и эквивалентные версии сервера.
Если вам нужен графический интерфейс, попробуйте VisualWget , который на самом деле чистый и с полным набором функций. Он основан на GNU Wget для его движка загрузки.
РЕДАКТИРОВАТЬ: обновленная ссылка.
Как описано в этом ответе SU , вы можете использовать следующее в Powershell:
Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext
Альтернативой использованию gnuwin32 является unxutils, который включает в себя wget.
Если вам нужен визуальный пост для Windows, вот один.
Вы можете разместить данные или файлы с ним.