15 советов по использованию команды curl в Linux

15 советов по использованию команды curl в Linux

Еще в середине 1990-х годов, когда Интернет был в зачаточном состоянии, шведский программист по имени Даниэль Стенберг начал проект, который в конце концов перерос в то, что мы сегодня знаем как команду curl. Первоначально он стремился создать бот, который будет периодически загружать курсы обмена валют с веб-страницы и предоставлять пользователям IRC эквиваленты шведских крон в долларах США. С тех пор проект процветал, к нему добавились несколько протоколов и различные возможности.

Прежде всего curl представляет собой кроссплатформенную служебную программу для командной строки. Она позволяет взаимодействовать с различными серверами по множеству различных протоколов, использующих синтаксис URL.

Мы подготовили список из 15 способов использования команды curl для передачи данных и многого другого в Linux.

Содержание:

  1. Просмотр версии curl
  2. Загрузка файла
  3. Возобновление прерванной загрузки
  4. Загрузка нескольких файлов
  5. Загрузка URL-адреса из файла
  6. Использование прокси-сервера с аутентификацией или без нее
  7. Запрос HTTP-заголовков
  8. Создание запроса POST с помощью параметров
  9. Загрузка файлов с FTP-сервера с аутентификацией или без неё
  10. Загрузка URL-адреса из файла
  11. Указание агента пользователя
  12. Просмотр cookie-файлов сайта
  13. Отправка cookie-файлов сайта
  14. Изменение разрешения имени
  15. Ограничение скорости скачивания
  16. Выводы

Просмотр версии curl

Опции -V или --version возвращают не только версию, но и поддерживаемые протоколы и функции Вашей текущей версии.

 

15 советов по использованию команды curl в Linux

Загрузка файла

Если хотите загрузить файл, можете использовать curl с опциями -O или -o. Первая сохранит файл в текущем рабочем каталоге с тем же именем, что и в удаленном хранилище, а вторая позволит указать другое имя файла и / или местоположение.

 

 

download-file-as-yourfile

Возобновление прерванной загрузки

Если загрузка была прервана по какой-то причине (например, использованием Ctrl + C), её можно очень легко возобновить. Использование -C - (тире C, тире) указывает на то, что загрузка должна возобновиться с того места, где она была прервана.

 

15 советов по использованию команды curl в Linux

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

Следующей командой одновременно инициируется загрузка info.html и about.html с http://yoursite.com и http://mysite.com, соответственно.

 

multiple-files-download

Загрузка URL-адреса из файла

Если совместить curl с xargs, можно скачать файлы из списка URL-адресов в файле.

 

15 советов по использованию команды curl в Linux

Использование прокси-сервера с аутентификацией или без нее

Если прокси-сервер находится за портом 8080 на proxy.yourdomain.com:

 

Можно пропустить -U user:password, если прокси не требует аутентификации.

Запрос HTTP-заголовков

HTTP-заголовки позволяют удаленному веб-серверу отправлять дополнительную информацию о себе вместе с фактическим запросом. Это предоставляет клиенту подробную информацию о том, как обрабатывается запрос.

Чтобы запросить HTTP-заголовки с веб-сайта, нужно выполнить следующие действия:

 

http-headers
Эта информация также доступна в инструментах разработчика браузера.

Создание запроса POST с помощью параметров

Следующая команда отправит параметры firstName и lastName вместе с соответствующими значениями на адрес https://yourdomain.com/info.php.

 

Эту команду можно использовать для моделирования поведения обычной HTML-формы.

Загрузка файлов с FTP-сервера с аутентификацией или без неё

Если удаленный FTP-сервер ожидает соединения по адресу ftp://yourftpserver, следующая команда загрузит файл yourfile.tar.gz в текущую рабочую директорию. Можно пропустить -u username:password, если FTP-сервер разрешает анонимные входы.

 

15 советов по использованию команды curl в Linux

Загрузка файлов на FTP-сервер с аутентификацией или без неё

Чтобы загрузить локальный файл mylocalfile.tar.gz на сайт ftp://yourftpserver с помощью curl, выполните следующие действия:

Указание агента пользователя

Агент пользователя является частью информации, которая отправляется вместе с запросом HTTP. Он указывает браузер, который использовался клиентом для создания запроса. Давайте посмотрим, что использует наша текущая версия curl по умолчанию, а позже изменим её на "I am a new web browser":

 

default-browser-change

Просмотр cookie-файлов сайта

Чтобы узнать, какие файлы cookie загружаются на компьютер, нужно перейти по ссылке https://www.cnn.com? и использовать следующую команду, чтобы сохранить их в файле cnncookies.txt:

 

Затем можно использовать команду cat для просмотра файла:

cookies-cat

Отправка cookie-файлов сайта

Можно использовать файлы cookie, восстановленные в предыдущем разделе в последующих запросах на тот же сайт.

Изменение разрешения имени

Если Вы веб-разработчик и хотите протестировать локальную версию сайта yourdomain.com, прежде чем запускать его для публичного доступа, вы можете сделать так, чтобы curl разрешил запуск http://www.yourdomain.com на локальный хост. Таким образом, запрос на http://www.yourdomain.com скажет curl запросить сайт у localhost, вместо использования DNS или файла /etc/hosts.

Ограничение скорости скачивания

Для того, чтобы curl не ограничивал Вашу пропускную способность, скорость загрузки можно ограничить до 100 Кб/с с помощью следующей команды:

Выводы

Спасибо за время, уделенное на прочтение статьи! Теперь Вы знаете о том, как можно использовать удобную и полезную команду curl в Linux.

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

1 комментарий. Оставить новый

  • А можно ли сделать так, что бы CURL перекладывал файлы с одного интернет ресурса на другой. При этом у сайта-отправителя авторизация не требуется, а у сайта получателя, наоборот нужна.

    Ответить

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню