Посмотреть список curl linux

Содержание
  1. Команда curl. Синтаксис. Примеры использования
  2. Синтаксис и опции curl
  3. Просмотр версии curl
  4. Скачивание файла
  5. Возобновление прерванной загрузки
  6. Скачивание нескольких файлов
  7. Использование прокси-сервера
  8. Запрос HTTP-заголовков
  9. cURL POST-запросы с параметрами
  10. Загрузка файлов на FTP-сервер
  11. Указание агента пользователя
  12. Запись файлов cookie с веб-сайта
  13. Отправка файлов cookie на сайт
  14. Изменение разрешения имен
  15. Ограничение скорости скачивания
  16. Заключение
  17. Руководство по команде curl для начинающих
  18. Команда curl
  19. Q1. Как работает команда curl?
  20. Q2. Как заставить curl использовать то же имя для скачиваемого файла?
  21. Q3. Как скачать несколько файлов, используя curl?
  22. Q4. Как решить проблему с «Moved»?
  23. Q5. Как возобновить загрузку с точки прерывания?
  24. Заключение
  25. ИТ База знаний
  26. Полезно
  27. Навигация
  28. Серверные решения
  29. Телефония
  30. Корпоративные сети
  31. 15 примеров CURL в Linux
  32. Посмотреть версию curl
  33. Скачать файл

Команда curl. Синтаксис. Примеры использования

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

Синтаксис и опции curl

Синтаксис команды следующий:

В качестве аргумента задается, как правило, URL скачиваемого файла. Основные опции перечислены ниже

-# — отображать простой прогресс-бар во время загрузки;
-0 — использовать протокол http 1.0;
-1 — использовать протокол шифрования tlsv1;
-2 — использовать sslv2;
-3 — использовать sslv3;
-4 — использовать ipv4;
-6 — использовать ipv6;
-A — указать свой USER_AGENT;
-b — сохранить Cookie в файл;
-c — отправить Cookie на сервер из файла;
-C — продолжить загрузку файла с места разрыва или указанного смещения;
-m — максимальное время ожидания ответа от сервера;
-d — отправить данные методом POST;
-D — сохранить заголовки, возвращенные сервером в файл;
-e — задать поле Referer-uri, указывает с какого сайта пришел пользователь;
-E — использовать внешний сертификат SSL;
-f — не выводить сообщения об ошибках;
-F — отправить данные в виде формы;
-G — если эта опция включена, то все данные, указанные в опции -d будут передаваться методом GET;
-H — передать заголовки на сервер;
-I — получать только HTTP заголовок, а все содержимое страницы игнорировать;
-j — прочитать и отправить cookie из файла;
-J — удалить заголовок из запроса;
-L — принимать и обрабатывать перенаправления;
-s — максимальное количество перенаправлений с помощью Location;
-o — выводить контент страницы в файл;
-O — сохранять контент в файл с именем страницы или файла на сервере;
-p — использовать прокси;
—proto — указать протокол, который нужно использовать;
-R — сохранять время последнего изменения удаленного файла;
-s — выводить минимум информации об ошибках;
-S — выводить сообщения об ошибках;
-T — загрузить файл на сервер;
-v — максимально подробный вывод;
-y — минимальная скорость загрузки;
-Y — максимальная скорость загрузки;
-z — скачать файл, только если он был модифицирован позже указанного времени;
-V — вывести версию.

Основные опции мы рассмотрим на простых примерах.

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

Опция -V или —version выводит не только версию curl, но и краткую информацию о поддерживаемых протоколах и функциях:


Скачивание файла

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

Cохранение файла под исходным именем (yourfile) в текущей рабочей директории.

Cохранение файла под именем newfile в директории /tmp/examplе/.

Читайте также:  Когда заканчивается поддержка windows phone

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

Если скачивание по какой-то причине было прервано (например, пользователь нажал Ctrl+C), вы легко можете возобновить его с момента остановки при помощи опции -C – (дефис, С, тире):

Скачивание нескольких файлов

Следующая команда позволит вам скачать info.html с http://yoursite.com и about.html c http://mysite.com в один прием:

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

Использование прокси-сервера

Если вы подключены через прокси-сервер, нужно указать его команде curl при помощи следующих опций (в данном примере имя сервера proxy.yourdomain.com, порт 8080, имя пользователя user, пароль qwerty1234):

Если ваш прокси-сервер не требует аутентификации, опцию -U user:qwerty1234 указывать не нужно.

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

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

Для запроса HTTP-заголовков веб-сайта выполните команду с опцией -I:

$ curl -I https://itproffi.ru

Также эту информацию можно получить, воспользовавшись функциями браузера для разработчиков.

cURL POST-запросы с параметрами

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

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

Следующая команда скачивает в текущую рабочую директорию файл yourfile с удаленного FTP-сервера ftp://yourftpserver (имя пользователя user, пароль qwerty1234):

Если FTP-сервер поддерживает анонимный вход, параметр –u с именем пользователя и пароля указывать не нужно.

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

Для загрузки локального файла mylocalfile.tar.gz воспользуйтесь следующей командой:

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

Агент пользователя – часть информации HTTP-запроса. Она показывает, каким браузером пользуется клиент. Можно посмотреть, что имеющаяся версия curl передает по умолчанию и установить новое значение:

Хотите посмотреть, какие файлы cookie скачиваются на ваш компьютер, когда вы заходите на определенный сайт? Опция —cookie-jar сохраняет их список в файл, который в дальнейшем можно просмотреть при помощи команды cat.

Полученные в предыдущем примере файлы cookie можно использовать в дальнейших запросах к тому же самому сайту:

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

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

Таким образом, при запросе на http://www.yourdomain.com curl будет запрашивать сайт с локального узла, а не использовать DNS или файл /etc/hosts.

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

Чтобы curl не занимал всю пропускную способность канала, можно ограничить скорость скачивания при помощи опции —limit-rate:

Заключение

Мы рассмотрели краткую историю появления curl и наиболее характерные примеры применения этой команды. Для более подробной информации можно обратиться к соответствующей man-странице.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Руководство по команде curl для начинающих

Оригинал: Linux curl Command Tutorial for Beginners (5 Examples)
Автор: Himanshu Arora
Дата публикации: 26 июля 2018 года
Перевод: А. Кривошей
Дата перевода: февраль 2019 г.

Хотя основным средством, с помощью которого пользователи загружают данные из интернета, являются веб-браузеры, существуют команды Linux, которые также позволяют вам это делать. Эти утилиты пригодятся в системах, где нет графического интерфейса.

В этом руководстве мы обсудим одну из таких команд — curl, которая, помимо прочего, позволяет загружать данные из Интернета. Обратите внимание, что примеры, обсуждаемые в этой статье, тестируются на Ubuntu 16.04 LTS.

Команда curl

Команда curl позволяет вам загружать данные из командной строки Linux. Ниже приводится ее синтаксис:

И вот что говорит об этой команде ее man-страница:

curl — это инструмент для передачи данных с или на сервер, используя один из поддерживаемых протоколов (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET и TFTP). Команда предназначена для работы без взаимодействия с пользователем.

Читайте также:  Создать текстовый файл линукс команда

curl предлагает множество полезных трюков, таких как поддержка прокси, пользовательская аутентификация, загрузка по FTP, HTTP post, SSL соединения, куки, передача файлов, возобновление загрузок, Metalink и многое другое.

curl работает на базе libcurl для всех функций, связанных с передачей данных. См. libcurl (3) для деталей.

Ниже приведены примеры в стиле вопрос/ответ, которые должны дать вам лучшее представление о том, как работает curl

Q1. Как работает команда curl?

Основное использование довольно просто — просто передайте URL-адрес в качестве параметра в команду curl и перенаправьте вывод в файл.

Обратите внимание, что вы также можете использовать здесь опцию -o.

Возвращаясь к нашему примеру, пока данные загружались в файл ‘test.torrent’ в моей системе, в командной строке был получен следующий вывод:

Вот что говорит справочная страница об индикаторе прогресса, который отображается в выводе:

curl обычно отображает индикатор хода выполнения операции, указывая количество переданных данных, скорость передачи, оставшееся время и т. д.
curl по умолчанию отображает эти данные на терминал, поэтому, если вы вызываете curl для выполнения операции, и он собирается писать выходные данные в терминал, он отключает индикатор прогресса, так как в противном случае он может смешать индикатор прогресса и данные.
Если вам нужен индикатор выполнения для запросов HTTP POST или PUT, вам нужно перенаправить вывод ответа в файл, используя shell redirect (>), -o [file] или аналоги.
Это не так для загрузки по FTP, так как эта операция не выдает данные на терминал.

Q2. Как заставить curl использовать то же имя для скачиваемого файла?

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

Так что в этом случае был создан файл с именем ‘ubuntu-18.04-desktop-amd64.iso.torrent’.

Q3. Как скачать несколько файлов, используя curl?

Это тоже не сложно — просто передайте URL следующим образом:

Вот эта команда в действии:

Таким образом, вы можете видеть процесс загрузки для обоих URL-адресов.

Q4. Как решить проблему с «Moved»?

Иногда, когда вы передаете URL команде curl, вы получаете сообщения об ошибках типа «Moved» или «Moved Permanently». Это обычно происходит, когда входной URL перенаправляет на какой-либо другой URL. Например, вы открываете веб-сайт, скажем oneplus.com, и он перенаправляет вас на URL-адрес для вашей страны (например, oneplus.in), поэтому вы получаете сообщение об ошибке, подобное следующему:

Если вы хотите, чтобы curl следовал за перенаправлением, используйте параметр командной строки -L.

Q5. Как возобновить загрузку с точки прерывания?

Иногда загрузка прерывается. Поэтому, естественно, чтобы сэкономить время и данные, при повторной попытке вы захотите, чтобы загрузка началась с того момента, на котором она была прервана. Curl позволяет вам сделать это, используя опцию командной строки -C.

На следующем снимке экрана показана команда curl, возобновляющая загрузку после ее прерывания.

Заключение

Итак, вы можете видеть, что команда curl — полезная утилита, если вы хотите загружать файлы в командной строке. Мы показали только основы, так как она предлагает намного больше возможностей. Как только вы закончите практиковать параметры командной строки, обсуждаемые в этом руководстве, вы можете перейти на страницу руководства curl, чтобы узнать больше о ней.

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Читайте также:  C windows system32 bcmihvsrv dll

Корпоративные сети

Протоколы и стандарты

15 примеров CURL в Linux

4 минуты чтения

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

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

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

Скачать файл

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

Возобновить прерванную загрузку

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

Скачать несколько файлов

С помощью следующей команды вы сразу загрузите info.html и about.html с http://merionet.ru и http://wiki.merionet.ru соответственно.

Скачать URL из файла

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

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

Если вы находитесь за прокси-сервером, прослушивающим порт 8080 на proxy.yourdomain.com, сделайте это:

где вы можете пропустить -U user: пароль, если ваш прокси не требует аутентификации.

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

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

Чтобы запросить заголовки HTTP с сайта, выполните:

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

Сделать запрос POST с параметрами

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

Вы можете использовать этот совет для имитации поведения обычной формы HTML.

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

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

где вы можете пропустить -u username: password, если FTP-сервер разрешает анонимный вход.

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

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

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

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

Хранение Cookies

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

Отправить файлы cookie сайта

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

Изменить разрешение имени

Если вы веб-разработчик и хотите протестировать локальную версию merionet.ru, прежде чем запускать ее в живую версию, вы можете настроить разрешение curl http://www.merionet.ru для своего локального хоста следующим образом:

Таким образом, запрос к http://www.merionet.ru скажет curl запрашивать сайт у localhost вместо использования DNS или файла /etc /hosts.

Ограничить скорость загрузки

Чтобы предотвратить потерю пропускной способности, вы можете ограничить скорость загрузки до 100 КБ/с следующим образом.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

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