Linux wget аналог wget

Отличная альтернатива для утилит wget и curl в Linux

Оригинал: What is a good alternative to wget or curl on Linux
Автор: Dan Nanni
Дата публикации: 7 апреля 2015 г.
Перевод: А.Панин
Дата перевода: 13 августа 2016 г.

Если вам понадобится получить доступ к документам с веб-сервера в неинтерактивном режиме из терминала (например, загрузить веб-страницу или протестировать restful-API веб-сервиса), вы наверняка воспользуетесь таким инструментом, как wget или curl . Оба эти инструмента поддерживают большое количество аргументов командной строки и могут использоваться в неинтерактивном режиме для доступа к документам с веб-сервера при различных обстоятельствах. Однако, даже такие мощные инструменты могут успешно применяться лишь в том случае, если вы знаете, как с ними работать. Если же вы не являетесь экспертом в плане их аргументов, они смогут использоваться вами разве что в качестве простых утилит для загрузки файлов с веб-серверов.

Представленная разработчиками, как «curl-подобный инструмент для людей», утилита HTTPie была спроектирована с целью улучшения пользовательсских качеств таких утилит, как wget и curl . Главной целью ее разработчиков является предоставление пользователю возможности взаимодействия с веб-сервером с использованием командной строки максимально простым способом. Для этого в рамках HTTPie реализован выразительный, но в то же время простой и интуитивно понятный интерфейс командной строки. Кроме того, утилита выводит ответы веб-сервера с использованием цветовой разметки для улучшения их читаемости, а также поддерживает некоторые полезные механизмы, например, механизмы взаимодействия с сервером с использованием документов JSON и постоянных сессий, которые могут значительно оптимизировать ваш рабочий процесс.

Я уверен, что некоторые из вас скептически отнесутся к замене таких общедоступных и проверенных временем инструментов, как wget и curl , на совершенно неизвестную утилиту. Безусловно, с таким мнением сложно не согласиться, особенно в том случае, если вы работаете системным администратором и обслуживаете множество различных устройств. Однако, в случае разработчиков программного обеспечения и конечных пользователей продуктивность работы является решающим фактором. Если в мое поле зрения попадает удобная альтернатива для одного из стандартных инструментов системы, я обычно не вижу проблемы в его замене на более удобную версию в рамках моего рабочего окружения для экономии драгоценного времени. Лично я не вижу никакого смысла в предпочтительном и религиозном отношении к заменяемым инструментам. В конце концов, Linux всегда предоставляет пользователю выбор.

В рамках данной статьи я постараюсь рассказать об утилите HTTPie и продемонстрировать, почему я считаю ее дружелюбной альтернативой wget и curl .

Установка HTTPie в Linux

Утилита HTTPie разработана с использованием языка программирования Python, поэтому вы сможете установить ее практически в любой операционной системе (Linux, Mac OS X, Windows). Кроме того, она может быть установлена в формате пакета программного обеспечения из репозиториев большинства дистрибутивов Linux.

Читайте также:  Удаленное администрирование для linux

Debian, Ubuntu или Linux Mint:

В первую очередь следует подключить репозиторий EPEL, после чего выполнить следующую команду:

Альтернативный метод установки утилиты, который должен работать в любом дистрибутиве Linux, заключается в использовании утилиты pip.

Примеры использования утилиты HTTPie

После установки HTTPie вы можете использовать ее, инициируя исполнение команды http . Далее я покажу несколько полезных примеров использования этой команды http .

Пример 1: отправка пользовательских заголовков HTTP

Вы можете отправить серверу собственные заголовки HTTP в формате . Например, давайте отправим HTTP-запрос GET серверу www.test.com с стандартными заголовками «user-agent» и «referer» , а также с нашим собственным заголовком (а именно, «MyParam» ).

Обратите внимание на то, что для использования метода HTTP GET не нужно использовать каких-либо аргументов командной строки, позволяющих указать метод HTTP.

Результирующий запрос HTTP будет выглядеть следующим образом:

Вы можете использовать утилиту http в качестве инструмента для загрузки файлов с веб-серверов. При этом вам придется осуществить перенаправление потока стандартного вывода утилиты в файл следующим образом:

Пример 3: использование различных методов HTTP

Помимо используемого по умолчанию метода HTTP для получения данных от веб-сервера под названием GET вы можете использовать любые другие стандартные методы HTTP (такие, как PUT, POST, HEAD). Например, для отправки данных серверу с помощью запроса, использующего метод HTTP под названием PUT, следует выполнить следующую команду:

Пример 4: отправка содержимого формы

Отправка содержимого формы веб-серверу настолько проста, насколько проста следующая команда:

Параметр -f позволяет утилите http осуществить сериализацию данных полей формы и установить в качестве значения заголовка HTTP «Conetnt-Type» значение «application/x-www-form-urlencoded; charset=utf-8» .

Результирующий HTTP-запрос POST будет выглядеть следующим образом:

HTTPie имеет встроенный механизм для работы с документами формата JSON, который может оказаться очень полезным ввиду роста популярности формата JSON в качестве формата документов для обмена данными. Фактически, стандартным типом содержимого запросов (обозначаемым с помощью заголовка «content-type» ), используемым HTTPie, является JSON. Таким образом, в том случае, если вы отправляете данные полей формы без указания типа содержимого запроса, будет осуществляться сериализация этих данных в объект JSON.

Пример 6: перенаправление ввода

Еще одной удобной функцией HTTPie является возможность перенаправления ввода, благодаря которой вы можете передавать в качестве тела HTTP-запроса буферизованные данные. Например, вы можете использовать такую команду:

Заключение

В данной статье я познакомил вас с утилитой HTTPie, которая является альтернативой для таких известных утилит, как wget и curl . Помимо простых примеров использования этой утилиты, приведенных в статье, вы также можете ознакомиться с большим количеством интересных способов ее использованию на официальном сайте HTTPie . Хотел бы еще раз напомнить, что любой мощный инструмент может успешно применяться лишь в том случае, если вы знаете, как работать с ним. Лично я уже высоко оценил все возможности HTTPie в процессе поиска механизмов простого тестирования сложных API веб-приложений. А что думаете о ней вы?

Источник

Изучаем команду wget на 12 примерах

Все мы иногда качаем файлы из интернета. Если для этого использовать программы с графическим интерфейсом, то всё оказывается предельно просто. Однако, при работе в командной строке Linux дело несколько усложняется. Особенно — для тех, кто не знаком с подходящими инструментами. Один из таких инструментов — чрезвычайно мощная утилита wget, которая подходит для выполнения всех видов загрузок. Предлагаем вашему вниманию двенадцать примеров, разобрав которые, можно освоить основные возможности wget.

Читайте также:  Куда скачивается обновления для windows 10

1. Загрузка одного файла

Если всё, что нужно — это загрузка одного файла, нам подойдёт следующая конструкция:

После ввода такой команды начнётся скачивание Nagios Core. В ходе этого процесса можно будет видеть данные о загрузке, например — сведения о том, какой объём данных уже загружен, текущую скорость, и то, сколько времени осталось до конца загрузки.

2. Загрузка файла и сохранение его с новым именем

Если мы хотим сохранить загруженный файл под именем, отличающимся от его исходного имени, нам пригодится команда wget с параметром -O :

При таком подходе загруженный файл будет сохранён под именем nagios_latest .

3. Ограничение скорости загрузки файлов

При необходимости скорость загрузки файлов с помощью wget можно ограничить. В результате эта операция не будет занимать весь доступный канал передачи данных и не повлияет на другие процессы, связанные с сетью. Сделать это можно, используя параметр —limit-rate и указав ограничение скорости, выраженное в байтах (в виде обычного числа), килобайтах (добавив после числа K ) или мегабайтах ( M ) в секунду:

Здесь задано ограничение скорости загрузки, равное 500 Кб/с.

4. Завершение прерванной загрузки

Если в ходе загрузки файлов эта операция была прервана, можно возобновить загрузку с помощью параметра -c команды wget :

Если этот параметр не использовать, то загрузка недокачанного файла начнётся сначала.

5. Фоновая загрузка файла

Если вы загружаете файл огромного размера и хотите выполнять эту операцию в фоне, сделать это можно, используя параметр -b :

6. Загрузка нескольких файлов

Если имеется список URL файлов, которые надо загрузить, но вам не хочется вручную запускать загрузки этих файлов, можно использовать параметр -I . Однако, перед тем, как начинать загрузку, нужно создать файл, содержащий все адреса. Например, сделать это можно такой командой:

В этот файл нужно поместить адреса — по одному в каждой строке. Далее, осталось лишь запустить wget , передав этой утилите только что созданный файл со списком загрузок:

Выполнение этой команды приведёт к поочерёдной загрузке всех файлов из списка.

7. Увеличение общего числа попыток загрузки файла

Для того, чтобы настроить число повторных попыток загрузки файла, можно использовать параметр —tries :

8. Загрузка файлов с FTP-сервера

Команда загрузки файла с анонимного FTP-сервера с помощью wget выглядит так:

Если для доступа к файлу требуются имя пользователя и пароль, то команда примет такой вид:

9. Создание локальной копии веб-сайта

Если нужно загрузить содержимое целого веб-сайта, сделать это можно, воспользовавшись параметром —mirror :

Обратите внимание на дополнительные параметры командной строки:

  • -p : производится загрузка всех файлов, необходимых для корректного отображения HTML-страниц.
  • —convert-links : ссылки в документах будут преобразованы для целей локального просмотра сайта.
  • -P /home/dan : материалы будут сохранены в папку /home/dan .

10. Загрузка с сайта только файлов определённого типа

Для того, чтобы загрузить с сайта только файлы определённого типа, можно воспользоваться параметрами -r -A :

11. Пропуск файлов определённого типа

Если вы хотите скопировать целый веб-сайт, но при этом вам не нужны файлы определённого типа, отключить их загрузку можно с помощью параметра —reject :

12. Загрузка с использованием собственного .log-файла

Для того, чтобы загрузить файл и использовать при этом собственный .log -файл, воспользуйтесь параметром -o и укажите имя файла журнала:

Итоги

Wget — довольно простая в использовании, но весьма полезная утилита Linux. И, на самом деле то, о чём мы рассказали — лишь малая часть того, что она умеет. Надеемся, этот обзор поможет тем, кто не был знаком с wget, оценить эту программу, и, возможно, включить её в свой повседневный арсенал инструментов командной строки.

Читайте также:  Veil kali linux что это

Уважаемые читатели! Пользуетесь ли вы инструментами командной строки Linux для загрузки файлов? Если да — просим о них рассказать.

Источник

Аналоги Wget

GNU Wget — это бесплатный программный пакет для извлечения файлов с использованием HTTP(S) и FTP, наиболее широко используемых интернет-протоколов. Это неинтерактивный инструмент командной строки, поэтому его легко вызывать из сценариев, «отложенных» команд, терминалов без поддержки X-Windows и т.д.

Альтернативы для Wget

Android iOS (iPhone / iPad)

aria2 — это кроссплатформенная утилита загрузки с несколькими протоколами и несколькими источниками.

  • Бесплатная Windows Android Mac OS

aria2 — это кроссплатформенная утилита загрузки с несколькими протоколами и несколькими источниками. Поддерживаемые протоколы: HTTP (S), FTP, BitTorrent (DHT, PEX, MSE / PE) и Metalink.

uGet — это легкий и полнофункциональный менеджер загрузок для Linux и Windows.

  • Бесплатная Windows Android

uGet — это легкий и полнофункциональный менеджер загрузок для Linux и Windows. uGet позволяет загружать несколько параллельных потоков для ускорения загрузки, помещения файлов в очередь загрузки, приостановки и возобновления загрузки, расширенного управления категориями, интеграции с браузером, мониторинга буфера обмена, пакетной загрузки, локализации на более чем 25 языках и много других функций.

cURL — проект компьютерного программного обеспечения, предоставляющий библиотеку и инструмент командной строки для передачи данных.

  • Бесплатная Windows Mac OS

cURL — это компьютерный программный проект, предоставляющий библиотеку и инструмент командной строки для передачи данных с использованием различных протоколов с синтаксисом URL: поддержка FTP, FTPS, SCP, SFTP, HTTP, HTTPS, TFTP, TELNET, DICT, LDAP, LDAPS и FILE.

Cyotek WebCopy — это бесплатный инструмент для локального копирования веб-сайтов.

Cyotek WebCopy — это бесплатный инструмент для локального копирования веб-сайтов на жесткий диск для просмотра в автономном режиме.

UnMHT добавляет поддержку чтения / записи MHT-файлов в Firefox.

  • Бесплатная Windows Mac OS

UnMHT добавляет поддержку чтения / записи MHT-файлов в Firefox.

httpie — HTTPie — это CLI, похожий на cURL инструмент для людей.

  • Бесплатная Windows Mac OS

httpie — HTTPie — это CLI, похожий на cURL инструмент для людей.

PageArchiver (ранее Scrapbook for SingleFile) — это расширение Chrome, которое помогает архивировать веб-страницы для чтения в автономном режиме.

  • Бесплатная Windows Mac OS

PageArchiver (ранее Scrapbook for SingleFile) — это расширение Chrome, которое помогает архивировать веб-страницы для чтения в автономном режиме.

MacOS-приложение, которое автоматически загружает сайты из Интернета.

SiteSucker — это приложение для Macintosh, которое автоматически загружает веб-сайты из Интернета. Это выполняется путем асинхронного копирования веб-страниц сайта, изображений, PDF-файлов, таблиц стилей и других файлов на локальный жесткий диск, дублируя структуру каталогов сайта.

RESTClient может использоваться для тестирования различных HTTP-коммуникаций и веб-сервисов RESTful.

  • Бесплатная Windows Mac OS

RESTClient может использоваться для тестирования различных HTTP-коммуникаций и веб-сервисов RESTful. Дружественный графический интерфейс, богатые функциональные возможности.

Что в этом списке?

В списке находится программы которые можно использовать для замены Wget.

Это аналоги похожие по функционалу на Wget, которые заменяют программу частично или полностью. Этот список содержит 9 замен.

С помощью пользователей мы собираем каталог похожих друг на друга программ, чтобы вы могли подобрать альтернативу и скачать их. На сайте можно скачать популярные программы для Windows, Mac Os, Android и iPhone

Источник

Оцените статью