cURL — назва проєкту і крос-платформового програмного засобу, що служить для передачі даних через Інтернет. cURL — це утиліта для організації вибірки даних з вебу, що надає можливість гнучкого формування запиту із завданням таких параметрів, як cookie, user_agent, referrer і будь-яких інших заголовків. cURL — це додаткова можливість оперувати з файлами на боці сервера сторінок Інтернету за допомогою параметрів, що можуть бути переданими в рядку URL. За допомогою cURL можна, наприклад, отримати html-сторінку, не використовуючи для цього браузер.

cURL
приклад виводу за curl -O.
Тип FTP клієнт / HTTP клієнт
Автор Daniel Stenberg
Розробник Даніел Стенбергd[1]
Перший випуск 1997[2]
Стабільний випуск 7.72.0 (19 серпня 2020; 3 роки тому (2020-08-19))
Операційна система крос-платформова
Мова програмування C
Стан розробки активний
Ліцензія вільна похідна від MIT/X
Онлайн-документація curl.se/docs/
Репозиторій github.com/curl/curl
Вебсайт curl.haxx.se

Крім http-запитів, cURL підтримує SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP та інші мережеві протоколи.

Разом з утилітою cURL, проєкт паралельно розвиває бібліотеку libcurl, що надає API для задіяння всіх функцій cURL в програмах на таких мовах, як С, Perl, PHP, Python.

Приклади використання cURL з командної консолі ред.

Базове використання cURL полягає у простому наборі у командній консолі команди curl, за якою іде URL для завантаження.

Наприклад, щоб забрати сторінку example.com[en], наберіть:

curl www.example.com

cURL за замовчуванням відображає вивід отриманого у стандартний потік виводу системи (зазвичай це вікно терміналу). Отже, запуск наведеної вище команди на більшості систем просто покаже програмний код сторінки www.example.com в вікні терміналу.

cURL може записати вивід до файлу при використанні прапорця -o:

curl -o example.html www.example.com

Це збереже код для www.example.com у файлі example.html. Під час отримання виводу cURL покаже прогрес завантаження. Проте, cURL не показує прогрес при виводі у термінал, бо це може заважати виводу самого завантаженого коду.

Щоб завантажити вивід у файл з таким самим ім'ям, що і у системі, з якої він завантажується, використовуйте прапорець -O, наприклад:

curl -O www.example.com/example.html

Якщо сервер відповідає, що файл переміщено (показано за допомогою Location: header та кодом відповіді 3XX), то використовуйте прапорець -L, наприклад:

curl -OL www.example.com/example.html

cURL може під'єднатися до сервера за допомогою протоколу HTTPS і поверне помилку, якщо сертифікат не знайдено:

curl https://securesite.com/login.html

Тоді, щоб вказати файл сертифікату:

curl --cacert c:\temp\cacerts.crt https://securesite.com/login.html

Щоб оминути перевірку сертифікату (увага: це небезпечно):

curl --insecure https://self-signed-cert.com/login.html

Curl має багато інших можливостей, серед яких підтримка проксі-серверів, автентифікації користувача, завантаження по FTP, запити по HTTP, SSL-під'єднання, куки (cookies), довантаження файлів, Metalink, та багато іншого.

Бібліотека Libcurl ред.

Libcurl — це бібліотека API для передачі, яку розробники можуть вбудувати в свої програми; cURL діє як автономна обгортка для бібліотеки Libcurl. Бібліотека Libcurl використовується, для надання можливості передачі файлів (що адресуються за допомогою URL) численним додаткам (як відкритим, так і комерційним).

Для Libcurl існують модулі інтеграції (bindings, прив'язки) для роботи з більш ніж 30-ма мовами програмування.

Виноски ред.

  1. Polhemspriset 2017
  2. How curl Became Like This. curl. Архів оригіналу за 21 May 2021. Процитовано 30 червня 2021.
  3. а б Free Software Directory
  4. GNU Guix — 2012.

Посилання ред.