curl 7.75.0

curl — кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL. 

Программа curl может автоматизировать передачу файлов или последовательность таких операций. Например, это хорошее средство для моделирования действий пользователя в веб-обозревателе. Программа поддерживает протоколы: FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, LDAP, а также POP3, IMAP и SMTP. Также cURL поддерживает сертификаты HTTPS, методы HTTP POST, HTTP PUT, загрузку на FTP, загрузку через формы HTTP. 

Поддерживаемые методы аутентификации: базовая, дайджест, NTLM и Negotiate для HTTP, а также Kerberos для FTP. Возможно возобновление передачи файла с места обрыва (при поддержке протоколом), туннелирование через HTTP-прокси, поддержка HTTP-Cookie. cURL — это не офлайн-браузер типа HTTrack и не может целиком загрузить содержимое сайта.

Libcurl — это библиотека API для передачи, которую разработчики могут встроить в свои программы; cURL действует как автономная обёртка для библиотеки libcurl. libcurl используется, чтобы обеспечить возможность передачи файлов (адресуемых с помощью URL) многочисленным приложениям (как открытым, так и коммерческим). 

Выпуск примечателен появлением возможности замены бэкендов для обработки протокола HTTP в curl и libcurl. В качестве опции в состав включён первый альтернативный HTTP-бэкенд Hyper, реализованный на языке Rust. Бэкенд построен с использованием одноимённой библиотеки c реализацией протоколов HTTP/1 и HTTP/2, и позиционируется как более защищённый за счёт применения технологий безопасной работы с памятью.

Изменения в новой версии программы:

  • Добавлена опция "--create-file-mode [mode]", позволяющая задать права доступа для файлов, сохраняемых на удалённом сервере (для протоколов, поддерживающих подобное сохранение).
  • В опции "--write-out" применяемой для настройки вывода информации о ходе передачи данных, добавлена поддержка новых переменных: onerror для определения сообщения при ошибке, url для подстановки url, exitcode для подстановки кода ошибки, errormsg для подстановки сообщения об ошибке, stderr для отправки в stderr и т.п.
  • Расширен синтаксис параметра CURLOPT_RESOLVE, в котором теперь допускается добавление временных записей.
  • Добавлена поддержка "gophers://", защищённого варианта протокола Gopher, работающего поверх TLS.
  • Добавлена поддержка AWS HTTP v4 Signature.

Для libcurl имеются модули интеграции (bindings, привязки) для работы с более чем 30 языками программирования.