cURL
![]() | |
![]() приклад виводу за curl -O. | |
Тип | FTP клієнт / HTTP клієнт |
---|---|
Автор | Daniel Stenberg |
Розробник | Даніел Стенбергd |
Перший випуск | 1997[2] |
Стабільний випуск | 7.72.0 (19 серпня 2020 ) |
Операційна система | крос-платформова |
Мова програмування | C |
Стан розробки | активний |
Ліцензія | вільна похідна від MIT/X |
Онлайн-документація | curl.se/docs/ |
Репозиторій | github.com/curl/curl |
Вебсайт | curl.haxx.se |
cURL — назва проєкту і крос-платформового програмного засобу, що служить для передачі даних через Інтернет. cURL — це утиліта для організації вибірки даних з вебу, що надає можливість гнучкого формування запиту із завданням таких параметрів, як cookie, user_agent, referrer і будь-яких інших заголовків. cURL — це додаткова можливість оперувати з файлами на боці сервера сторінок Інтернету за допомогою параметрів, що можуть бути переданими в рядку URL. За допомогою cURL можна, наприклад, отримати html-сторінку, не використовуючи для цього браузер.
Крім http-запитів, cURL підтримує SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP та інші мережеві протоколи.
Разом з утилітою cURL, проєкт паралельно розвиває бібліотеку libcurl, що надає API для задіяння всіх функцій cURL в програмах на таких мовах, як С, Perl, PHP, Python.
Базове використання 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 — це бібліотека API для передачі, яку розробники можуть вбудувати в свої програми; cURL діє як автономна обгортка для бібліотеки Libcurl. Бібліотека Libcurl використовується, для надання можливості передачі файлів (що адресуються за допомогою URL) численним додаткам (як відкритим, так і комерційним).
Для Libcurl існують модулі інтеграції (bindings, прив'язки) для роботи з більш ніж 30-ма мовами програмування.