Як користуватися curl

Нам часто доводиться завантажувати різні файли з інтернету, наприклад, виконувані файли програм, файли скриптів, архіви з вихідними кодами. Але не завжди це потрібно робити через браузер. У багатьох ситуаціях набагато простіше виконати всі дії через термінал. Оскільки таким чином ви можете автоматизувати процес. З іншого боку, веб-майстрам час від часу доводиться тестувати доступність веб-сайтів, перевіряти відправляються і одержуються заголовки і багато іншого.

Для вирішення таких завдань і завдань подібного кола можна скористатися утилітою curl. Вона дозволяє вирішити набагато більш широке коло завдань, серед яких навіть імітація дій користувача на сайті. У цій статті ми розглянемо як користуватися curl, що це таке і навіщо потрібна ця програма.

Що таке curl?

Насправді, curl - це більше ніж просто утиліта командного рядка для Linux або Windows. Це набір бібліотек, в яких реалізуються базові можливості роботи з URL сторінками і передачі файлів. Бібліотека підтримує роботу з протоколами: FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, LDAP, а також POP3, IMAP і SMTP. Вона відмінно підходить для імітації дій користувача на сторінках і інших операцій з URL адресами.

Підтримка бібліотеки curl була додана в безліч різних мов програмування і платформ. Утиліта curl - це незалежна обгортка для цієї бібліотеки. Саме на цю утиліту ми і зупинимося в цій статті.

команда curl

Перед тим як перейти до опису того як може використовуватися команда curl linux, давайте розберемо саму утиліту і її основні опції, які нам знадобляться. Синтаксис утиліти дуже простий:

$ curl опції посилання

Тепер розглянемо основні опції:

  • -# - відображати простий прогрес-бар під час завантаження;
  • -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 linux, але тут перераховано все основне, що вам доведеться використовувати.

Як користуватися curl?

Ми розглянули всі, що стосується теорії роботу інструменту curl, тепер прийшов час перейти до практики, і розглянути приклади команди curl.

Завантаження файлів

Найчастіша завдання - це завантаження файлів linux. Завантажити файл дуже просто. Для цього достатньо передати утиліті в параметрах ім`я файлу або html сторінки:

$ Curl -o readme.txt https://raw.githubusercontent.com/curl/curl/master/README.md


А якщо ви хочете, щоб отриманий файл називався так само, як і файл на сервері, використовуйте опцію -O:

$ Curl - # -C - -O https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc7.tar.xz

Якщо потрібно, однією командою можна скачати кілька файлів:

$ Curl -z 21-Dec-17 https://raw.githubusercontent.com/curl/curl/master/README.md -O https://raw.githubusercontent.com/curl/curl/master/README

Дана команда завантажить файл, тільки якщо він був змінений після 21 грудня 2017.

Обмеження швидкості




Ви можете обмежити швидкість завантаження до необхідної межі, щоб не перевантажувати мережу за допомогою опції -Y:

Відео: Автоматична плойка Babyliss Curl Secret / Красиві локони за 8 хвилин

$ Curl -Y 100 -O https://raw.githubusercontent.com/curl/curl/master/README.md

передача файлів

Завантаження файлів, це досить просто, але утиліта дозволяє виконувати і інші дії, наприклад, передачу файлів на ftp сервер. Для цього існує опція -T:

Або перевіримо відправку файлу по HTTP, для цього існує спеціальний сервіс:

$ Curl -T ~ / login.txt https://posttestserver.com/post.php

Відео: Як користуватися автоматичною плойкою BaByliss Pro Perfect Curl Line4you com ua

У відповіді утиліта повідомить де ви можете знайти долучення.

Відправка даних POST

Ви можете відправляти не тільки файли, але і будь-які дані методом POST. Нагадаю, що цей метод використовується для відправки даних різних форм. Для відправки такого запиту використовуйте опцію -d. Для тестування будемо користуватися тим же сервісом:

Відео: Плойка babyliss pro perfect curl - як використовувати правильно!

$ Curl -F "password = @ pass-type = text / plain" https://posttestserver.com/post.php

Тут ми передаємо формою поле password, з типом звичайний текст, точно так же ви можете передати кілька параметрів.

Передача і прийом куки

Кукі або Cookie використовуються сайтами для зберігання якоїсь інформації на стороні користувача. Це може бути необхідно, наприклад, для аутентифікації. Ви можете приймати і передавати Cookie за допомогою curl. Щоб зберегти отримані Cookie в файл використовуйте опцію -c:

$ Curl -b cookie.txt https://posttestserver.com/post.php

Передача і аналіз заголовків

Не завжди нам обов`язково потрібно вміст сторінки. Іноді можуть бути цікаві тільки заголовки. Щоб вивести тільки їх є опція -I:

$ Curl -I --header `If-Modified-Since: Mon, 26 Dec 2016 18:13:12 GMT` https://inuasparwil.ru

аутентифікація curl

Якщо на сервері потрібно аутентифікація одного з поширених типів, наприклад, HTTP Basic або FTP, то curl дуже просто може впоратися з таким завданням. Для вказівки даних аутентифікації просто вкажіть їх через двокрапку в опції -u:

$ Curl -x proxysever.test.com:3128 https://google.co.in

висновки

У цій статті ми розглянули як користуватися curl, навіщо потрібна ця утиліта і основні її можливості. Незважаючи на свою схожість з wget, вони дуже сильно відрізняються. Команда curl linux призначена більше для аналізу та імітації різних дій на сервері, тоді як wget більше підходить для завантаження файлів і краулінга сайтів.

Поділися в соціальних мережах:

Схожі
Застосування curlЗастосування curl
Відправка cookie через curlВідправка cookie через curl
Як користуватися програмою audacityЯк користуватися програмою audacity
Робота з powershell linuxРобота з powershell linux
Відправка get-запитів в curlВідправка get-запитів в curl
Як дізнатися країну по ip-адресою через phpЯк дізнатися країну по ip-адресою через php
Що таке apiЩо таке api
Як відправити referer через curlЯк відправити referer через curl
Як зробити парсер контенту на phpЯк зробити парсер контенту на php
Установка ssh ubuntu 16.04Установка ssh ubuntu 16.04
» » Як користуватися curl