If PowerShell is an option, that’s the preferred route, since you (potentially) won’t have to install anything extra:
(new-object System.Net.WebClient).DownloadFile('http://www.example.com/file.txt', 'C:\tmp\file.txt')
Failing that, Wget for Windows, as others have pointed out is definitely the second best option. As posted in another answer it looks like you can download Wget all by itself, or you can grab it as a part of Cygwin or MSys.
If for some reason, you find yourself stuck in a time warp, using a machine that doesn’t have PowerShell and you have zero access to a working web browser (that is, Internet Explorer is the only browser on the system, and its settings are corrupt), and your file is on an FTP site (as opposed to HTTP):
start->run "FTP", press "OK".
If memory serves it’s been there since Windows 98, and I can confirm that it is still there in Windows 8 RTM (you might have to go into appwiz.cpl
and add/remove features to get it). This utility can both download and upload files to/from FTP sites on the web. It can also be used in scripts to automate either operation.
This tool being built-in has been a real life saver for me in the past, especially in the days of ftp.cdrom.com — I downloaded Firefox that way once, on a completely broken machine that had only a dial-up Internet connection (back when sneakernet’s maximum packet size was still 1.44 MB, and Firefox was still called «Netscape» /me does trollface).
A couple of tips: it’s its own command processor, and it has its own syntax. Try typing «help». All FTP sites require a username and password; but if they allow «anonymous» users, the username is «anonymous» and the password is your email address (you can make one up if you don’t want to be tracked, but usually there is some kind of logic to make sure it’s a valid email address).
As a Linux user, I can’t help but spend most of my time on the command line. Not that the GUI is not efficient, but there are things that are simply faster to do with the keyboard.
Think about copy and paste. Select a text you want to copy, go to the edit menu, click, precisely move down to copy, click, then go to the destination, click where you want to paste, go to edit menu, click, move down to the paste option, then paste. Every time I see someone do this, I die a little inside. Sure you can save some time by right-clicking, copy, right-click, paste. But you can save some more time by pressing, ctrl-c then ctrl-v
My hands are already on the keyboard, and I would rather do the mundane things on the keyboard and not think about them.
One thing I do frequently is download files. They can be zip file, tgz, or jpg. On linux, all I have to do is open the command line, run wget with the file I want to download and it is done.
wget http://example.org/picture.jpg
Straight to the point. But how do you do that when you are on a Windows machine? Let me introduce you to cURL, pronounced curl. (i don’t know why I wrote it the way I did)
curl is a very powerful tool with too many feature. But I just want to download the file on Windows so let’s just learn how to do that.
Open PowerShell. That’s Windows Key + R
then type powershell and press enter.
Now run the curl command with the -O
option to specify the file output.
curl http://example.org/picture.jpg -O picture.jpg
Easy right? Now you can download files right from the command line all by simply using your keyboard.
OK. It is time I confess. This is not the curl tool you are using. It’s only an alias. In reality, we are calling the command Invoke-WebRequest
. But hey! It works, so we don’t care. You can call it in its native format if you want to.
Invoke-WebRequest http://example.org/picture.jpg -O picture.jpg
Either way, now you know how to download a file from the command line.
bat.cmd
@Echo Off
Set ROOT=C:/test
Set KBFile1=logo.png
Set KB_Url1=http://www.oszone.net/figs/logo.png
Set KBFile2=logo2.png
Set KB_Url2=http://www.oszone.net/figs/logo.png
Call :KB_TEST "%KBFile1%" "%KB_Url1%"
Call :KB_TEST "%KBFile2%" "%KB_Url2%"
Echo.
PAUSE
EXIT
:KB_TEST
<Nul Set /P $_X="%~1..."
If Exist "%ROOT%\%~1" Echo Ok& Exit /B
<Nul Set /P $_X=Loading
CScript //NoLogo "%~dpn0.vbs" "%ROOT%\%~1" "%~2"
Set ERR=%ErrorLevel%
<Nul Set /P $_X=Complete
If %ERR% EQU 0 (Echo Ok ) Else Echo ERROR
Exit /B
bat.vbs
If Wscript.Arguments.Count=2 Then
WScript.Quit(HTTPFileGet(Wscript.arguments.Item(1), Wscript.arguments.Item(0)))
Else
WScript.Quit(1)
End If
Function HTTPFileGet(strFileURL, strFileSave)
Dim objXMLHTTP, objADOStream, objFSO
HTTPFileGet = 1
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
Set objADOStream = CreateObject("ADODB.Stream")
Set objFSO = Createobject("Scripting.FileSystemObject")
objXMLHTTP.Open "GET", strFileURL, False
objXMLHTTP.Send
If objXMLHTTP.Status = 200 Then
objADOStream.Open
objADOStream.Type = 1
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0
If objFSO.FileExists(strFileSave) Then objFSO.DeleteFile strFileSave
objADOStream.SaveToFile strFileSave
objADOStream.Close
HTTPFileGet = 0
End If
End Function
Источник: http://forum.oszone.net/post-1260131-4.html
Дата статьи:
Автор:
Протокол FTP является одним из распространенных сетевых протоколов, используемых пользователями сети Интернет. Подавляющее количество людей используют, для выкачивания чего-либо с FTP-серверов, различные клиенты FTP. Но не многие знают, что в Windows доступна возможность подключения к FTP-серверам из командной строки.
Из этого совета вы узнаете о том, как скачивать файлы с FTP-серверов при помощи простых DOS-команд.
Для того, чтобы скачать файл с FTP из командной строки Windows, выполним несколько простых действий:
- Откройте командную строку Windows, нажав на Пуск — Выполнить, набрав cmd и нажав на Enter.
- Выполните следующую команду:
при помощи этой команды, мы подключимся к ftp-серверу компании Microsoft.
- Вводим имя пользователя anonymous. Сервер этой известной компании позволяет подключаться анонимным пользователям:
- В качестве пароля вводим e-mail (можно ввести несуществующий):
- Поздравляю с успешным входом!
- Для того, чтобы посмотреть, какие файлы и каталоги доступны на ftp-сервере, вводим команду dir:
- В результате — получаем список файлов и каталогов, расположенных на ftp-сервере:
- Для того, чтобы перейти в необходимый каталог, воспользуемся командой cd:
- Сообщение «250 CWD command successeful» скажет о том, что мы успешно перешли в нужный нам каталог:
- Для того, чтобы скачать нужный нам файл, введем команду get и имя загружаемого файла:
- После успешного получения файла, система оповестит нас:
- Для того, чтобы покинуть ftp-сервер и отключиться от него, выполните команду bye:
Возможно, многие скажут, что гораздо удобнее скачивать файлы при помощи многофункциональных менеджеров загрузки или ftp-клиентов.. Но при необходимости (или в качестве альтернативы), вы можете использовать простые DOS-команды, которые позволят вам скачать файлы с ftp без дополнительных затрат.
Остались вопросы?
Если у Вас что-то не получилось или остались вопросы по данной проблеме — обратитесь к автору и он Вам поможет.
«Потрошитель» железок и софта
GNU Wget — консольная программа для загрузки файлов по сети. Поддерживает протоколы HTTP, FTP и HTTPS, а также работу через HTTP прокси-сервер. Программа включена почти во все дистрибутивы Linux. Утилита разрабатывалась для медленных соединений, поэтому она поддерживает докачку файлов при обрыве соединения.
Для работы с Wget под Windows, переходим по ссылке и скачиваем файл wget.exe
. Создаем директорию C:\Program Files\Wget-Win64
и размещаем в ней скачанный файл. Для удобства работы добавляем в переменную окружения PATH
путь до исполняемого файла.
Давайте попробуем что-нибудь скачать, скажем дистрибутив Apache под Windows:
> wget https://home.apache.org/~steffenal/VC15/binaries/httpd-2.4.35-win64-VC15.zip --2018-09-14 10:34:09-- https://home.apache.org/~steffenal/VC15/binaries/httpd-2.4.35-win64-VC15.zip Resolving home.apache.org (home.apache.org)... 163.172.16.173 Connecting to home.apache.org (home.apache.org)|163.172.16.173|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 17856960 (17M) [application/zip] Saving to: 'httpd-2.4.35-win64-VC15.zip' httpd-2.4.35-win64-VC15.zip 100%[=================================================>] 17,03M 8,50MB/s in 2,0s 2018-09-14 10:34:12 (8,50 MB/s) - 'httpd-2.4.35-win64-VC15.zip' saved [17856960/17856960]
Если утилита ругается на сертификаты при скачивании по HTTPS, нужно использовать дополнительную опцию --no-check-certificate
.
Примеры
Загрузка всех URL, указанных в файле (каждая ссылка с новой строки):
> wget -i download.txt
Скачивание файлов в указанный каталог:
> wget -P /path/for/save ftp://ftp.example.org/image.iso
Скачивание файла file.zip
и сохранение под именем archive.zip
:
> wget -O archive.zip http://example.com/file.zip
Продолжить загрузку ранее не полностью загруженного файла:
> wget -c http://example.org/image.iso
Вывод заголовков HTTP серверов и ответов FTP серверов:
> wget -S http://example.org/
Скачать содержимое каталога archive
и всех его подкаталогов, при этом не поднимаясь по иерархии каталогов выше:
> wget -r --no-parent http://example.org/some/archive/
Использование имени пользователя и пароля на FTP/HTTP:
> wget --user=login --password=password ftp://ftp.example.org/image.iso
> wget ftp://login:password@ftp.example.org/image.iso
Отправить POST-запрос в формате application/x-www-form-urlencoded
:
> wget --post-data="user=evgeniy&password=qwerty" http://example.org/auth/
Сохранение cookie
в файл cookie.txt
для дальнейшей отправки серверу:
> wget --save-cookie cookie.txt http://example.org/
Сохраненный файл cookie.txt
:
# HTTP cookie file. # Generated by Wget on 2018-09-14 11:40:37. # Edit at your own risk. example.org FALSE / FALSE 1570196437 visitor 71f61d2a01de1394f60120c691a52c56
Отправка cookie
, сохраненных ранее в файле cookie.txt
:
> wget --load-cookie cookie.txt http://example.org/
Отправка заголовков:
> wget --header="Accept-Language: ru-RU,ru;q=0.9" --header="Cookie: PHPSESSID=....." http://example.org/
Справка по утилите:
> wget -h GNU Wget 1.11.4, программа для загрузки файлов из сети в автономном режиме. Использование: wget [ОПЦИЯ]... [URL]...
Запуск: -V, --version вывод версии Wget и выход. -h, --help вывод этой справки. -b, --background после запуска перейти в фоновый режим. -e, --execute=КОМАНДА выполнить команду в стиле .wgetrc. Журналирование и входной файл: -o, --output-file=ФАЙЛ записывать сообщения в ФАЙЛ. -a, --append-output=ФАЙЛ дописывать сообщения в конец ФАЙЛА. -d, --debug вывод большого количества отладочной информации. -q, --quiet молча (без выходных данных). -v, --verbose подробный вывод (по умолчанию). -nv, --no-verbose отключение подробного режима, но не полностью. -i, --input-file=ФАЙЛ загрузка URL-ов, найденных в ФАЙЛЕ. -F, --force-html считать, что входной файл - HTML. -B, --base=URL добавление URL в начало относительных ссылок в файле -F -i. Загрузка: -t, --tries=ЧИСЛО установить ЧИСЛО повторных попыток (0 без ограничения). --retry-connrefused повторять, даже если в подключении отказано. -O, --output-document=ФАЙЛ записывать документы в ФАЙЛ. -nc, --no-clobber пропускать загрузки, которые приведут к загрузке уже существующих файлов. -c, --continue возобновить загрузку частично загруженного файла. --progress=ТИП выбрать тип индикатора выполнения. -N, --timestamping не загружать повторно файлы, только если они не новее, чем локальные. -S, --server-response вывод ответа сервера. --spider ничего не загружать. -T, --timeout=СЕКУНДЫ установка значений всех тайм-аутов в СЕКУНДЫ. --dns-timeout=СЕК установка тайм-аута поиска в DNS в СЕК. --connect-timeout=СЕК установка тайм-аута подключения в СЕК. --read-timeout=СЕК установка тайм-аута чтения в СЕК. -w, --wait=СЕКУНДЫ пауза в СЕКУНДАХ между загрузками. --waitretry=СЕКУНДЫ пауза в 1..СЕКУНДЫ между повторными попытками загрузки. --random-wait пауза в 0...2*WAIT секунд между загрузками. --no-proxy явно выключить прокси. -Q, --quota=ЧИСЛО установить величину квоты загрузки в ЧИСЛО. --bind-address=АДРЕС привязка к АДРЕСУ (имя хоста или IP) локального хоста. --limit-rate=СКОРОСТЬ ограничение СКОРОСТИ загрузки. --no-dns-cache отключение кэширования поисковых DNS-запросов. --restrict-file-names=ОС ограничение на символы в именах файлов, использование которых допускает ОС. --ignore-case игнорировать регистр при сопоставлении файлов и/или каталогов. -4, --inet4-only подключаться только к адресам IPv4. -6, --inet6-only подключаться только к адресам IPv6. --prefer-family=СЕМЕЙСТВО подключаться сначала к адресам указанного семейства, может быть IPv6, IPv4 или ничего. --user=ПОЛЬЗОВАТЕЛЬ установить и ftp- и http-пользователя в ПОЛЬЗОВАТЕЛЬ. --password=ПАРОЛЬ установить и ftp- и http-пароль в ПАРОЛЬ. Каталоги: -nd, --no-directories не создавать каталоги. -x, --force-directories принудительно создавать каталоги. -nH, --no-host-directories не создавать каталоги как на хосте. --protocol-directories использовать имя протокола в каталогах. -P, --directory-prefix=ПРЕФИКС сохранять файлы в ПРЕФИКС/... --cut-dirs=ЧИСЛО игнорировать ЧИСЛО компонентов удалённого каталога. Опции HTTP: --http-user=ПОЛЬЗОВАТЕЛЬ установить http-пользователя в ПОЛЬЗОВАТЕЛЬ. --http-password=ПАРОЛЬ установить http-пароль в ПАРОЛЬ. --no-cache отвергать кэшированные сервером данные. -E, --html-extension сохранять HTML-документы с расширением .html. --ignore-length игнорировать поле заголовка Content-Length. --header=СТРОКА вставить СТРОКУ между заголовками. --max-redirect максимально допустимое число перенаправлений на страницу. --proxy-user=ПОЛЬЗОВАТЕЛЬ установить ПОЛЬЗОВАТЕЛЯ в качестве имени пользователя для прокси. --proxy-password=ПАРОЛЬ установить ПАРОЛЬ в качестве пароля для прокси. --referer=URL включить в HTTP-запрос заголовок Referer: URL. --save-headers сохранять HTTP-заголовки в файл. -U, --user-agent=АГЕНТ идентифицировать себя как АГЕНТ вместо Wget/ВЕРСИЯ. --no-http-keep-alive отключить поддержание активности HTTP (постоянные подключения). --no-cookies не использовать кукисы. --load-cookies=ФАЙЛ загрузить кукисы из ФАЙЛА перед сеансом. --save-cookies=ФАЙЛ сохранить кукисы в ФАЙЛ после сеанса. --keep-session-cookies загрузить и сохранить кукисы сеанса (непостоянные). --post-data=СТРОКА использовать метод POST; отправка СТРОКИ в качестве данных. --post-file=ФАЙЛ использовать метод POST; отправка содержимого ФАЙЛА. --content-disposition Учитывать заголовок Content-Disposition при выборе имён для локальных файлов (ЭКСПЕРИМЕНТАЛЬНЫЙ). --auth-no-challenge Отправить базовые данные аутентификации HTTP не дожидаясь ответа от сервера. Опции HTTPS (SSL/TLS): --secure-protocol=ПР выбор безопасного протокола: auto, SSLv2, SSLv3 или TLSv1. --no-check-certificate не проверять сертификат сервера. --certificate=FILE файл сертификата пользователя. --certificate-type=ТИП тип сертификата пользователя: PEM или DER. --private-key=ФАЙЛ файл секретного ключа. --private-key-type=ТИП тип секретного ключа: PEM или DER. --ca-certificate=ФАЙЛ файл с набором CA. --ca-directory=КАТ каталог, в котором хранится список CA. --random-file=ФАЙЛ файл со случайными данными для SSL PRNG. --egd-file=ФАЙЛ файл, определяющий сокет EGD со случайными данными. Опции FTP: --ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ. --ftp-password=ПАРОЛЬ установить ftp-пароль в ПАРОЛЬ. --no-remove-listing не удалять файлы файлы .listing. --no-glob выключить маски для имён файлов FTP. --no-passive-ftp отключить "пассивный" режим передачи. --retr-symlinks при рекурсии загружать файлы по ссылкам (не каталоги). --preserve-permissions сохранять права доступа удалённых файлов. Рекурсивная загрузка: -r, --recursive включение рекурсивной загрузки. -l, --level=ЧИСЛО глубина рекурсии (inf и 0 - бесконечность). --delete-after удалять локальные файлы после загрузки. -k, --convert-links делать ссылки локальными в загруженном HTML. -K, --backup-converted перед преобразованием файла X делать резервную копию X.orig. -m, --mirror короткая опция, эквивалентная -N -r -l inf --no-remove-listing. -p, --page-requisites загрузить все изображения и проч., необходимые для отображения HTML-страницы. --strict-comments включить строгую (SGML) обработку комментариев HTML. Разрешения/запреты при рекурсии: -A, --accept=СПИСОК список разрешённых расширений, разделённых запятыми. -R, --reject=СПИСОК список запрещённых расширений, разделённых запятыми. -D, --domains=СПИСОК список разрешённых доменов, разделённых запятыми. --exclude-domains=СПИСОК список запрещённых доменов, разделённых запятыми. --follow-ftp следовать по ссылкам FTP в HTML-документах. --follow-tags=СПИСОК список используемых тегов HTML, разделённых запятыми. --ignore-tags=СПИСОК список игнорируемых тегов HTML, разделённых запятыми. -H, --span-hosts заходить на чужие хосты при рекурсии. -L, --relative следовать только по относительным ссылкам. -I, --include-directories=СПИСОК список разрешённых каталогов. -X, --exclude-directories=СПИСОК список исключаемых каталогов. -np, --no-parent не подниматься в родительский каталог.
Дополнительно
- WGet — программа для загрузки файлов
Поиск:
CLI • Cookie • FTP • HTTP • HTTPS • Linux • POST • Web-разработка • Windows • wget • Форма
Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.