КУЛЬ
![]() | |
![]() Пример вывода из curl -O | |
Оригинальный автор(ы) | Дэниел Стенберг [ 1 ] |
---|---|
Разработчик(и) | Участники проекта Curl |
Первоначальный выпуск | 1996 год [ 2 ] |
Стабильная версия | 8.9.1 [ 3 ] ![]() |
Репозиторий | |
Написано в | С |
Платформа | Кросс-платформенный |
Тип | веб-клиент (поддерживает, например , HTTPS и FTP ) |
Лицензия | лицензия на завиток [ 4 ] [ 5 ] (по мотивам лицензии MIT [ 5 ] ), также ISC , BSD с 3 пунктами , BSD с 4 пунктами [ 6 ] |
Веб-сайт | завиток |
cURL (произносится как «завиток», [ 7 ] / k ɜːr l / ) — проект компьютерного программного обеспечения, предоставляющий библиотеку ( libcurl ) и инструмент командной строки ( curl ) для передачи данных с использованием различных сетевых протоколов . Название означает «Клиент для URL ». [ 8 ]
История
[ редактировать ]Curl был впервые выпущен в 1996 году. [ 9 ] Первоначально он назывался httpget , а затем стал urlget, прежде чем принять нынешнее имя Curl. [ 10 ] [ 11 ] Первоначальным автором и ведущим разработчиком является шведский разработчик Даниэль Стенберг , который создал Curl, потому что хотел автоматизировать получение курсов обмена валют для пользователей IRC . [ 2 ]
библиотека libcurl
[ редактировать ]libcurl — бесплатная библиотека передачи URL-адресов на стороне клиента , [ 12 ] поддержка файлов cookie , DICT , FTP , FTPS , Gopher , HTTP/1 [ 13 ] (с поддержкой HTTP/2 и HTTP/3 ), HTTP POST , HTTP PUT , HTTP-прокси туннелирование , HTTPS , IMAP , Kerberos , LDAP , MQTT , POP3 , RTSP , RTMP , SCP , SMTP и SMB . Библиотека поддерживает схему URI файлов , SFTP , Telnet , TFTP , возобновление передачи файлов, загрузку по FTP, загрузку на основе форм HTTP, сертификаты HTTPS, LDAPS, прокси-серверы и аутентификацию с использованием пароля и пользователя. [ 14 ]
Библиотека libcurl является портативной. Он собирается и работает одинаково на многих платформах, включая AIX , AmigaOS , Android , [ нужна ссылка ] BeOS , BlackBerry Tablet OS и BlackBerry 10 , [ 15 ] OpenVMS , Darwin , DOS , FreeBSD , HP-UX , HURD , iOS , IRIX , Linux , macOS , NetBSD , NetWare , OpenBSD , OS/2 , QNX Neutrino , RISC OS , Solaris , Symbian , Ultrix 4 , Trux , Unix , Microsoft UniWare Windows и OpenHarmony . [ 16 ] [ 17 ] [ 18 ]
Библиотека libcurl бесплатна, потокобезопасна и совместима с IPv6 . Привязки доступны для более чем 50 языков , включая C / C++ , Java , Julia (идет в комплекте), PHP и Python . [ 19 ]
Библиотека libcurl поддерживает GnuTLS , mbed TLS , NSS , gskit в IBM i , SChannel в Windows, Secure Transport в macOS и iOS, SSL/TLS через OpenSSL , BoringSSL , libreSSL , AmiSSL , wolfSSL , BearSSL и Rusls . [ 20 ]
завиток
[ редактировать ]Curl — это инструмент командной строки для получения или отправки данных, включая файлы, с использованием синтаксиса URL-адресов . Поскольку Curl использует libcurl, он поддерживает все протоколы, поддерживаемые libcurl. [ 14 ]
Curl поддерживает HTTPS и по умолчанию выполняет проверку сертификата SSL, если указан безопасный протокол, например HTTPS. Когда Curl подключается к удаленному серверу через HTTPS, он получает сертификат удаленного сервера, а затем проверяет по своему хранилищу сертификатов CA действительность удаленного сервера, чтобы убедиться, что удаленный сервер является тем, за который он выдает себя. Некоторые пакеты Curl включены в файл хранилища сертификатов CA. Существует несколько вариантов указания сертификата CA, например --cacert и --капат . Опцию --cacert можно использовать для указания местоположения файла хранилища сертификатов CA. На платформе Windows, если файл сертификата CA не указан, Curl будет искать имя файла сертификата CA «curl-ca-bundle.crt» в следующем порядке:
- Каталог, в котором находится программа Curl.
- Текущий рабочий каталог.
- Системный каталог Windows.
- Каталог Windows.
- Каталоги, указанные в переменных среды %PATH%. [ 21 ]
Curl вернет сообщение об ошибке, если удаленный сервер использует самозаверяющий сертификат или если сертификат удаленного сервера не подписан центром сертификации, указанным в файле сертификата CA. -к или Опцию --insecure можно использовать для пропуска проверки сертификата. Альтернативно, если удаленный сервер является доверенным, сертификат ЦС удаленного сервера можно добавить в файл хранилища сертификатов ЦС.
Примеры
[ редактировать ]Основное использование Curl включает в себя простой ввод curl в командной строке, а затем URL-адрес вывода, который необходимо получить:
$ curl www.example.com
По умолчанию Curl отображает полученные выходные данные на стандартном выводе, указанном в системе (обычно в окне терминала). Таким образом, выполнение приведенной выше команды в большинстве систем отобразит исходный код www.example.com в окне терминала. Вместо этого можно использовать флаг -o для сохранения вывода в файле:
$ curl -o example.html www.example.com
Доступны дополнительные параметры, изменяющие поведение инструмента.
См. также
[ редактировать ]- Curl-Loader — инструмент тестирования с открытым исходным кодом, основанный на Curl
- libwww — ранняя библиотека с интерфейсом командной строки.
- PowerShell – iwr (Invoke-WebRequest) Windows PowerShell имел функциональность, аналогичную Curl; класс Web-клиента тоже. [ 22 ]
- Веб-сканер - интернет-бот, который может сканировать Интернет.
- Wget - аналогичный инструмент командной строки без связанной библиотеки, но с возможностью рекурсивной загрузки.
Ссылки
[ редактировать ]- ^ Стенберг, Дэниел (20 марта 2015 г.). «керл, сегодня 17 лет» . daniel.haxx.se . Проверено 20 марта 2015 г.
- ^ Jump up to: а б «История Curl — Как Curl стал таким» . локон. Архивировано из оригинала 30 сентября 2017 года . Проверено 17 ноября 2016 г.
Дэниел просто использовал существующий инструмент командной строки с открытым исходным кодом httpget, который написал бразилец Рафаэль Сагула и недавно выпустил версию 0.1. После нескольких незначительных корректировок он сделал именно то, что ему было нужно. [...] HttpGet 1.0 был выпущен 8 апреля 1997 года с новой поддержкой HTTP-прокси. [...] Стенберг тратил время на написание IRC-бота для канала, связанного с Amiga, на EFnet. Затем ему пришла в голову идея сделать расчеты обмена валюты доступными для пользователей Internet Relay Chat (IRC).
- ^ «Выпуск 8.9.1 · завиток/завиток» . Проверено 31 июля 2024 г.
- ^ «Лицензия на локон» . spdx.org .
- ^ Jump up to: а б "завиток - авторские права" . локон.se . Архивировано из оригинала 15 января 2024 г. Проверено 17 января 2024 г.
- ^ Мель, Макс; Стенберг, Дэниел (13 июня 2022 г.). "Зафиксировать "авторские права: сделать репозиторий совместимым с REUSE" " . GitHub.com .
- ^ «curl — Часто задаваемые вопросы» . локон.se .
- ^ Стенберг, Дэниел. «Происхождение названия» . локон.se . Проверено 27 марта 2021 г.
- ^ «История завитка» . fossies.org. Архивировано из оригинала 17 сентября 2021 года . Проверено 11 мая 2021 г.
- ^ «Журнал изменений» . 4 января 2020 г. Проверено 4 января 2020 г.
Первый релиз Curl. До этого инструмент назывался urlget. И httpget до этого.
- ^ Стенберг, Дэниел (4 января 2020 г.). «Восстановлен полный журнал изменений Curl» (html) . Хакс Се . Проверено 2 января 2020 г.
- ^ Джонс, М. Тим (8 сентября 2009 г.). «Общение через Интернет с помощью cURL и libcurl — Использование libcurl с C и Python» . IBM Developerworks . Архивировано из оригинала 14 апреля 2015 года . Проверено 12 сентября 2018 г.
- ^ Стенберг, Дэниел (5 августа 2019 г.). «http09: отключить HTTP/0.9 по умолчанию как в инструменте, так и в библиотеке» . Гитхаб . Архивировано из оригинала (html) 5 августа 2019 года . Проверено 5 августа 2019 г.
Поскольку план был изложен в разделе «Устарело». Соответствующим образом обновите документы и проверьте их с помощью теста 1174.
- ^ Jump up to: а б «завиток — как использовать» . локон.se .
- ^ «Компоненты с открытым исходным кодом для собственного SDK для BlackBerry Tablet OS» . Архивировано из оригинала 27 января 2013 г. Проверено 19 сентября 2017 г.
- ^ «Стороннее программное обеспечение с открытым исходным кодом Curl» . Гите . OpenAtom OpenHarmony . Проверено 17 марта 2024 г.
- ^ «Стороннее программное обеспечение с открытым исходным кодом Curl» . Гитхаб . OpenAtom OpenHarmony . Проверено 17 марта 2024 г.
- ^ «Tar и Curl приходят в Windows!» . techcommunity.microsoft.com . 22 марта 2019 г.
- ^ «привязки libcurl» . локон.se.
- ^ «curl поддерживает Rustls | daniel.haxx.se» . 9 февраля 2021 г. Проверено 1 января 2022 г.
- ^ «curl — Сертификаты SSL CA» . локон.se .
- ^ Дел, Райан (2 марта 2018 г.). «Эквивалентные команды cURL и Wget для командной строки Windows с Powershell» ( html) . Рядель (на итальянском языке) . Проверено 4 января 2020 г.
Чтобы эмулировать поведение команды cURL в Linux, просто создайте файл cURL.ps1, содержащий следующую строку кода:
Внешние ссылки
[ редактировать ]
- Официальный сайт
- Сравнение Curl с другими инструментами загрузки с открытым исходным кодом
- Стенберг, Дэниел (9 ноября 2021 г.) [2007]. «Сравнение Curl и Wget» .
- Команды Windows
- программное обеспечение 1997 года
- Библиотеки C (язык программирования)
- Программное обеспечение командной строки
- Кроссплатформенное бесплатное программное обеспечение
- Менеджеры загрузок
- Бесплатные FTP-клиенты
- Бесплатное программное обеспечение, написанное на C.
- Бесплатные веб-сканеры
- Клиенты протокола передачи гипертекста
- Программное обеспечение, использующее лицензию MIT
- Телнет
- Парсинг веб-страниц