How To Use Wget to Download Files and Interact with REST APIs | DigitalOcean

Downloading files

In this section, you will use Wget to customize your download experience. For example, you will learn to download a single file and multiple files, handle file downloads in unstable network conditions, and, in the case of a download interruption, resume a download.

First, create a directory to save the files that you will download throughout this tutorial:

  1. mkdir -p DigitalOcean-Wget-Tutorial/Downloads

With the command above, you have created a directory named DigitalOcean-Wget-Tutorial, and inside of it, you created a subdirectory named Downloads. This directory and its subdirectory will be where you will store the files you download.

Navigate to the DigitalOcean-Wget-Tutorial directory:

  1. cd DigitalOcean-Wget-Tutorial

You have successfully created the directory where you will store the files you download.

Downloading a file

In order to download a file using Wget, type wget followed by the URL of the file that you wish to download. Wget will download the file in the given URL and save it in the current directory.

Let’s download a minified version of jQuery using the following command:

Solution using ghost.py

To install Ghost.py, you will need pip:

sudo apt-get install python-pip   #On a Debian based system
sudo pip install Ghost.py

Solution using phantomjs

First you will need to install phantomjs. On Ubuntu based systems, you can install it using the package manager or you could build it from source from their home page.

sudo apt-get install phantomjs

After this you write javascript script and run it using phantomjs:

phantomjs script.js

That’s it.

Базовые ключи запуска

-V–versionОтображает версию Wget.

-h–helpВыводит помощь с описанием всех ключей командной строки Wget.

-b–backgroundПереход в фоновый режим сразу после запуска. Если выходной файл не задан -o, выход перенаправляется в wget-log.

-e command–execute commandВыполнить command, как если бы она была частью файла .wgetrc.Команда, запущенная таким образом, будет выполнена после команд в .wgetrc, получая приоритет над ними.Для задания более чем одной команды wgetrc используйте несколько ключей -e.

Ключи каталогов

-nd–no-directoriesНе создавать структуру каталогов при рекурсивном скачивании. С этим ключом все файлы сохраняются в текущий каталогбез затирания (если имя встречается больше одного раза, имена получат суффикс .n).

Ключи скачивания

–bind-address=ADDRESSПри открытии клиентских TCP/IP соединений bind() на ADDRESS локальной машины. ADDRESS может указываться в виде имени хоста или IP-адреса.Этот ключ может быть полезен, если машине выделено несколько адресов IP.

-t number–tries=numberУстанавливает количество попыток в number. Задание 0 или inf соответствует бесконечному числу попыток. По умолчанию равно 20,за исключением критических ошибок типа “в соединении отказано” или “файл не найден” (404), при которых попытки не возобновляются.

-O file–output-document=fileДокументы сохраняются не в соответствующие файлы, а конкатенируются в файл с именем file.Если file уже существует, то он будет перезаписан. Если в качестве file задано -, документы будут выведены в стандартный вывод (отменяя -k).Помните, что комбинация с -k нормально определена только для скачивания одного документа.

-nc–no-clobberЕсли файл скачивается более одного раза в один и тот же каталог, то поведение Wget определяется несколькими ключами, включая -nc.В некоторых случаях локальный файл будет затёрт или перезаписан при повторном скачивании, в других – сохранён.

При запуске Wget без -N, -nc или -r скачивание того же файла в тот же каталог приводит к тому, что исходная копия файла сохраняется,а новая копия записывается с именем file.1. Если файл скачивается вновь, то третья копия будет названа file.2 и т.д.

Если указан ключ -nc, такое поведение подавляется, Wget откажется скачивать новые копии файла.Таким образом, “no-clobber” неверное употребление термина в данном режиме – предотвращается не затирание файлов(цифровые суффиксы уже предотвращали затирание), а создание множественных копий.

При запуске Wget с ключом -r, но без -N или -nc, перезакачка файла приводит к перезаписыванию на место старого.Добавление -nc предотвращает такое поведение, сохраняя исходные версии файлов и игнорируя любые новые версии на сервере.При запуске Wget с ключом -N, с или без -r, решение о скачивании новой версии файла зависит от локальнойи удалённой временных отметок и размера файла. -nc не может быть указан вместе с -N.

-c–continueПродолжение закачки частично скачанного файла. Это полезно при необходимости завершить закачку,начатую другим процессом Wget или другой программой. Например:

Конфигурирование wget

Основные настроки, которые необходимо писать каждый раз, можно указать в конфигурационном файле программы.Для этого зайдите в рабочую директорию Wget, найдите там файл sample.wgetrc,переименуйте его в .wgetrc и редакторе пропишите необходимые конфигурационные параметры.

Протоколирование и ключи входного файла

-o logfile–output-file=logfileПротоколировать все сообщения в logfile. Обычно сообщения выводятся в standard error.

-a logfile–append-output=logfileДописывать в logfile. То же, что -o, только logfile не перезаписывается, а дописывается.Если logfile не существует, будет создан новый файл.

-d–debugВключает вывод отладочной информации, т.е. различной информации, полезной для разработчиков Wget при некорректной работе.Системный администратор мог выбрать сборку Wget без поддержки отладки, в этом случае -d работать не будет.

-q–quietВыключает вывод Wget.

-v–verboseВключает подробный вывод со всей возможной информацией. Задано по умолчанию.

-nv–non-verboseНеподробный вывод – отключает подробности, но не замолкает совсем (используйте -q для этого),отображаются сообщения об ошибках и основная информация.

Conclusion

In this tutorial, you used Wget to download files in stable and unstable network conditions and interact with REST API endpoints. You then used this knowledge to create and manage a Droplet in your DigitalOcean account. If you would like to learn more about Wget, visit this tool’s manual page. For more Linux command-line tutorials visit DigitalOcean community tutorials.

Похожее:  🕸 Веб-аутентификация: файлы cookies или токены?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *