img

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

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

icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту

Посмотреть версию 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
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Подробнее о курсе
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе
Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Подробнее о курсе
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Изучи основы сетевой безопасности и прокачай скилл системного администратора и сетевого инженера
Подробнее о курсе
Еще по теме:
img
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
img
В этом руководстве вы узнаете, как установить и настроить Fail2ban на своем сервере.
img
В этой статье обсудим гипервизоры — важные компоненты процесса виртуализации серверов, как они работают и какие бывают типы.
img
В этой статье мы рассмотрим, как работают различные системные вызовы, разберемся в их функциях, а также постараемся сделать работу вашей системы более безопасной и предсказуемой.
img
Статья объясняет, что такое SWAP-память, как она работает, ее преимущества и недостатки, а также как управлять объемом SWAP-пространства на разных ОС.
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59