Сurl-запити: 10 прикладів для ефективної роботи 

Сurl-запити: 10 прикладів для ефективної роботи

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

У цій статті ми розглянемо 10 корисних прикладів використання curl, які допоможуть фахівцям ефективно вирішувати повсякденні мережеві завдання — від роботи з файлами та запитами до керування швидкістю завантаження.


Curl (або cURL) — це інструмент командного рядка для передачі даних з використанням різних протоколів. Головне призначення curl — надсилання запитів в мережі та отримання відповідей.

Команда Curl підтримує наступний список протоколів:

  • HTTP і HTTPS;
  • FTP і FTPS;
  • IMAP і IMAPS;
  • POP3 і POP3S;
  • SMB і SMBS;
  • SFTP;
  • SCP;
  • TELNET;
  • GOPHER;
  • LDAP і LDAPS;
  • SMTP і SMTPS.

Curl також взаємодіє з libcurl — вільною бібліотекою для обробки URL на стороні клієнта. Частіше за все curl використовують для виконання HTTP-запитів. Наприклад, для отримання змісту вебсторінки, надсилання даних на сервер або виконання різноманітних дій з вебсервісами.

Які сфери застосування:

  • Безбраузерний доступ.
  • Вбудування в shell-скрипти.
  • Для тестування API.

Далі ми розглянемо декілька корисних curl-запитів і те, як вони працюють і які функції виконують.

Перевірка версії Curl

Перш ніж перейти до використання Curl, треба увійти на VPS (віртуальний приватний сервер). Якщо вам потрібна допомога, рекомендуємо ознайомитися з інструкцією з використання SSH.

Спочатку перевіримо доступну версію за допомогою наступної команди:

curl –version
Фото: Код

У розділі «висновок» з’явиться інформація про версію програми та про перелік підтримуваних протоколів.

Основна структура команди Curl виглядає наступним чином: 

curl [OPTIONS] [URL]

Застосування Curl у найпростішому випадку полягає у відображенні змісту вебсторінки. Нижченаведена команда дозволить виводити на екран зміст домашньої сторінки — https://www.example.com

В цьому випадку розглянемо сторінку https://inweb.ua/ua/:

Фото:

Ця команда виводить весь вихідний код вказаної сторінки на екран. Якщо протокол не вказаний, Curl автоматично інтерпретує його як HTTP. Також, можна налаштовувати запити, додавати заголовки, надсилати форми, встановлювати різноманітні параметри — все це робиться через командний рядок з використанням різноманітних опцій curl. 

Команда curl для роботи з файлами

Команди Curl надають можливість завантажувати файли з віддалених джерел. Існує два варіанти використання цієї команди.

  • Параметр -O зберігає файл у поточному робочому каталозі з тим самим іменем, як у віддаленого файлу;
  • Параметр -o дозволяє встановити інше ім’я файлу або вказати місце розташування для збереження.

Наприклад:

  • Завантажити файл і зберегти його з оригінальним іменем (testfile.tar.gz).

В цьому випадку розглянемо домен https://inweb.ua/ua/

Фото: Код

Наведена вище команда збереже файл як testfile.tar.gz.

  • Ця команда збереже його як newtestfile.tar.gz. 
Фото: Код

В разі переривання завантаження, ви можете відновити її, скористувавшись наступною командою:

Фото: Код

Curl також дозволяє завантажувати декілька файлів одночасно. Приклад:

Фото: Код

Якщо вам потрібно завантажити декілька файлів з різних URL-адрес — вкажіть їх усі в одному файлі. Для завантаження файлів з різноманітних URL-адрес можна об’єднати команди Curl з xargs.

Наприклад, у нас є файл allUrls.txt, в якому перераховані всі URL-адреси для завантаження. Наведений нижче приклад демонструє, як завантажити усі файли з використанням цих URL-адрес. 

Команди Curl для HTTP

Стандартний HTTP-запит обов’язково містить в собі заголовок. Заголовок HTTP передає додаткові відомості про віддалений вебсервер разом із запитом. З допомогою інструментів розробника у браузері можна переглянути інформацію про заголовок, а її перевірку можна виконати з виконанням команди curl. 

Нижче наведено приклад, який показує, як отримати відомості про заголовок з вебсайту.

Фото: Код

З допомогою curl можна надсилати запити як методом GET, так і POST. 

Приклад запиту GET виглядає наступним чином:

Фото: Код

Далі — приклад запиту POST:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp

Тут параметр запиту POST називається text та містить значення Hello.

Також, ви можете вказати декілька HTTP-запитів в одній команді curl. Це можна зробити з використанням опції –next, наприклад:

В цій команді спочатку є запит POST, а далі — запит GET.

Кожен HTTP-запит містить в собі User-Agent, який передається у вигляді частини запиту. Цей юзер-агент вказує інформацію про браузер клієнта. За замовчуванням, у запиті присутній curl, а версія слугує інформацією про User-Agent. Приклад висновку надаємо нижче:

“GET / HTTP/1.1” 200 “_” ”curl/7/29/0”

Ви можете налаштувати інформацію про юзер-агента, скориставшись наступною командою:

Фото: Код

Тепер висновок буде виглядати так: 

“GET / HTTP/1.1” 200 “_” ”My new Browser”

Команда Curl і Cookies

Цей інструмент знадобиться для аналізу файлів cookie, які завантажуються за вказаною URL-адресою. Припустимо, ви відвідали https://testdomain.com/. За його допомогою ви зможете витягти та зберегти файли cookie у файл, а потім отримати до них доступ, застосовуючи команду cat або використовуючи текстовий редактор Vim.

Наведемо приклад такої команди:

curl –cookie-jar Mycookies.txt https://testdomain.com/ /index.html -O

Аналогічно, якщо у вас є файли cookie у вашому файлі, ви можете передати їх на сайт. Ось, як це можна здійснити: 

curl –cookie Mycookies.txt https://testdomain.com/ 

Цей інструмент повною мірою підтримує протокол FTP! Він надасть вам можливість завантажувати файли з віддаленого сервера. 

curl -u username:password -O ftp://sampleftpserver/testfile.tar.gz

У наведеній вище команді ftp://sampleftpserver — представлений FTP-сервер, який приймає з’єднання. Для анонімних FTP-з’єднань ви можете не вказувати імені користувача та паролю. Введіть цю команду та спостерігайте, як заповняється індикатор виконання.

Ви також маєте можливість завантажувати файли, виконуючи цю команду:

curl -u username:password -T testfile.tar.gz ftp://sampleftpserver

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

ри використанні Curl для стягування або завантажування даних неможливо заздалегідь визначити розмір висновку. Для запобігання обмежень пропускної здатності каналу ви можете обмежити швидкість стягування. Наведена нижче команда встановлює обмеження швидкості на рівні 100К:

curl –limit-rate 100K http://testdomain.com/samplefile.tar.gz -O

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

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

Сподіваємось, ця стаття стане для вас надійним ресурсом при засвоєнні даної утиліти. 

Читайте також
  • Inweb Hub SMM
    Колаборації для брендів у соціальних мережах — приклади та як обрати партнера для колаборації
    Вікторія Горбатюк
  • Inweb Hub Штучний інтелект
    Як ШІ допомагає впроваджувати Tone of Voice всередині команди — досвід агенції Inweb
    Софія Старк
  • Inweb Hub
    Онлайн-конференція ЛОБ-2025 відбудеться безкоштовно 13–17 жовтня 
    Яна Поліщук
  • Inweb Hub PPC
    Реклама в TikTok і Facebook: як обрати платформу для бізнесу
    Яна Поліщук
  • Inweb Hub Вебаналітика
    Як зробити refund в Google Analytics 4, якщо пізно помітили спамну транзакцію у звітах
    Андрій Очковський
  • Inweb Hub Бізнес
    Аналіз тенденцій сфер ecommerce у 2024 році — дослідження Similarweb
    Софія Старк