img

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

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


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

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

$ curl --version

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets

Скачать файл

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

$ curl -O http://merionet.ru/yourfile.tar.gz # Save as yourfile.tar.gz
$ curl -o newfile.tar.gz http:// merionet.ru /yourfile.tar.gz # Save as newfile.tar.gz

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

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

$ curl -C - -O http://merionet.ru/yourfile.tar.gz

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

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

$ curl -O http://merionet.ru/info.html -O http://wiki.merionet.ru/about.html

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

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

$ xargs -n 1 curl -O < listurls.txt

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

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

$ curl -x proxy.merionet.ru:8080 -U user:password -O http://merionet.ru/yourfile.tar.gz

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


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

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

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

$ curl -I www.merionet.ru

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


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

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

$ curl --data "firstName=John&lastName=Doe" https://merionet.ru/info.php.

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


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

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

$ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz

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


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

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

$ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

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

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

$ curl -I http://localhost --user-agent "New web browser"

Хранение Cookies

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

$ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

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

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

$ curl --cookie cnncookies.txt https://www.cnn.com

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

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

$ curl --resolve www.merionet.ru:80:localhost http://www.merionet.ru/

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


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

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

$ curl --limit-rate 100K http://merionet.ru/yourfile.tar.gz -O
Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
  Прошло уже много времени с тех пор, как появился первый веб-сервер. На сегодняшний день есть довольно много разных интересных
img
В эпоху, когда многие процессы автоматизированы, люди постоянно ищут способы, как эффективно выполнять задачи. А почему бы и нет
img
Введение В серверной стойке (серверном шкафу) хранится и размещается информационно-техническое оборудование, например, выделенны
img
  Всплески трафика могут стать как проблемой для вашей инфраструктуры хостинга, так и потрясающей возможностью для развития.  На
img
Подробное руководство, предназначенное для понимания и оптимизации различных типов соединений в SQL, которое повысит вашу произв
img
  Введение Цель резервного копирования и репликации – предотвратить критическую потерю данных в результате непредвиденных событи
Комментарии
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59