CURL - cURL
Эта статья нужны дополнительные цитаты для проверка.Ноябрь 2010 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Пример вывода из curl -O | |
Оригинальный автор (ы) | Даниэль Стенберг[1] |
---|---|
Разработчики) | Участники проекта cURL |
изначальный выпуск | 1997[2] |
Стабильный выпуск | 7.74.0 (9 декабря 2020 г.[3]) [±] |
Репозиторий | |
Написано в | C |
Операционная система |
|
Платформа | много |
Тип | FTP-клиент / HTTP-клиент |
Лицензия | Бесплатно программное обеспечение: MIT / X производная лицензия |
Интернет сайт | завиток |
cURL (произносится как завиток[4]) - это проект компьютерного программного обеспечения, обеспечивающий библиотека (libcurl) и командная строка инструмент (завиток) для передачи данных с использованием различных сетей протоколы. Название расшифровывается как «Клиент URL ",[5] который впервые был выпущен в 1997 году.[6]
История
cURL был впервые выпущен в 1997 году.[6] Первоначально он назывался httpget а затем стал urlget перед принятием текущего имени cURL.[7][8] Первоначальный автор и ведущий разработчик - шведский разработчик Даниэль Стенберг, который создал cURL, потому что хотел автоматизировать получение курсов валют для IRC пользователей.[1]
libcurl
libcurl - это бесплатная передача URL на стороне клиента библиотека,[9] поддерживающий печенье, DICT, FTP, FTPS, Суслик, HTTP / 1[10] (с 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, прокси и аутентификация пользователя с паролем.[11]
Библиотека libcurl переносима. Он строится и работает одинаково на многих платформах, включая AIX, AmigaOS, Android, BeOS, ОС BlackBerry Tablet и BlackBerry 10,[12] OpenVMS, Дарвин, ДОС, FreeBSD, HP-UX, БОЛЬШЕ, iOS, IRIX, Linux, macOS, NetBSD, NetWare, OpenBSD, OS / 2, QNX Neutrino, ОС RISC, Солярис, Symbian, Tru64, Ultrix, UnixWare, и Майкрософт Виндоус.[13]
Библиотека libcurl бесплатна, потокобезопасный и IPv6 совместимый. Привязки доступны более 60 языки, включая C /C ++, Ява, PHP и Python.[нужна цитата ]
Библиотека libcurl поддерживает GnuTLS, mbed TLS, НСС, gskit на IBM i, SChannel в Windows, Безопасный транспорт на macOS и iOS, SSL / TLS через OpenSSL, Boringssl, libressl, AmiSSL, wolfSSL, BearSSL и Mesalink.[нужна цитата]
cURL
cURL - это инструмент командной строки для получения или отправки данных, включая файлы, используя URL синтаксис. Поскольку cURL использует libcurl, он поддерживает все протоколы, поддерживаемые libcurl.[11]
cURL поддерживает HTTPS и по умолчанию выполняет проверку сертификата SSL, если указан безопасный протокол, например HTTPS. Когда cURL подключается к удаленному серверу через HTTPS, он получает сертификат удаленного сервера, а затем проверяет его. Сертификат CA сохранить достоверность удаленного сервера, чтобы гарантировать, что удаленный сервер является тем, за который он претендует. Некоторые пакеты cURL связаны с файлом хранилища сертификатов ЦС. Есть несколько вариантов указать сертификат CA, например --cacert и --capath. В --cacert Параметр может использоваться для указания расположения файла хранилища сертификатов ЦС. На платформе Windows, если файл сертификата ЦС не указан, cURL будет искать файл сертификата ЦС с именем «curl-ca-bundle.crt» в следующем порядке:
- Каталог, в котором находится программа cURL.
- Текущий рабочий каталог.
- Системный каталог Windows.
- Каталог Windows.
- Каталоги, указанные в переменных среды% PATH%.[14]
cURL вернет сообщение об ошибке, если удаленный сервер использует самозаверяющий сертификат или если сертификат удаленного сервера не подписан ЦС, указанным в файле сертификата ЦС. -k или же --ненадежный опцию можно использовать для пропуска проверки сертификата. В качестве альтернативы, если удаленный сервер является доверенным, сертификат CA удаленного сервера можно добавить в файл хранилища сертификатов CA.
Примеры
Базовое использование cURL включает в себя простой ввод завиток в командной строке, за которым следует URL-адрес вывода, который нужно получить:
$ curl www.example.com
cURL по умолчанию отображает вывод, который он получает, в стандартный вывод, указанный в системе (обычно в окно терминала). Таким образом, выполнение приведенной выше команды в большинстве систем отобразит исходный код www.example.com в окне терминала. Вместо этого для сохранения вывода в файл можно использовать флаг -o:
$ curl -o example.html www.example.com
Доступны дополнительные параметры, которые изменяют поведение инструмента.
Смотрите также
- локонагрузчик - инструмент тестирования с открытым исходным кодом на основе cURL
- libwww - ранняя библиотека, которая поставляется с интерфейсом командной строки
- PowerShell - в iwr (Invoke-WebRequest) Оболочка Windows PowerShell имела функциональность, похожую на curl; класс Web-client тоже.[15]
- Поисковый робот - Интернет-бот, который может сканировать Интернет
- Wget - аналогичный инструмент командной строки без связанной библиотеки, но с возможностью рекурсивной загрузки.
Рекомендации
- ^ а б Стенберг, Даниэль (20 марта 2015 г.). "локон, сегодня 17 лет". daniel.haxx.se. Получено 20 марта 2015.
- ^ "История завитка - как завиток стал таким". завиток. Архивировано из оригинал 30 сентября 2017 г.. Получено 17 ноября, 2016.
Дэниел просто адаптировал существующий инструмент командной строки с открытым исходным кодом httpget, который написал бразильский Рафаэль Сагула и недавно выпустил версию 0.1. После нескольких незначительных корректировок он сделал именно то, что ему нужно. […] HttpGet 1.0 был выпущен 8 апреля 1997 года с новой поддержкой HTTP-прокси. […] Стенберг писал IRC-бота для канала, связанного с Amiga, в EFnet. Затем ему пришла в голову идея сделать расчеты обмена валют доступными для пользователей Internet Relay Chat (IRC).
- ^ "локон - Изменения". cURL. Получено 2020-12-09.
- ^ "curl - Часто задаваемые вопросы". curl.se.
- ^ Стенберг, Даниэль. «Происхождение имени». curl.se/. Получено 2018-04-25.
- ^ а б "cURL: docs / HISTORY.md | Fossies". fossies.org. Получено 29 сентября, 2019.
- ^ "Журнал изменений". 4 января 2020 г.. Получено 4 января 2020.
Первый релиз curl. До этого инструмент назывался urlget. И httpget перед этим.
- ^ Стенберг, Даниэль (4 января 2020 г.). "Восстановлен полный журнал изменений curl" (HTML). Haxx Se. Получено 2 января 2020.
- ^ Джонс, М. Тим (8 сентября 2009 г.). «Общение через Интернет с помощью cURL и libcurl - Использование libcurl с C и Python». IBM Developerworks. В архиве из оригинала 14 апреля 2015 г.. Получено 12 сентября 2018.
- ^ Стенберг, Даниэль (5 августа 2019 г.). «http09: отключите HTTP / 0.9 по умолчанию и в инструменте, и в библиотеке». GitHub. Архивировано из оригинал (HTML) 5 августа 2019 г.. Получено 5 августа 2019.
Поскольку план был выложен в устаревшем. Обновите документы соответствующим образом и проверьте в тесте 1174.
- ^ а б "curl - Как использовать". curl.se.
- ^ «Компоненты с открытым исходным кодом для собственного SDK для ОС BlackBerry Tablet». Архивировано из оригинал на 2013-01-27. Получено 2017-09-19.
- ^ "Tar and Curl приходят в Windows!". techcommunity.microsoft.com. 22 марта 2019.
- ^ "curl - SSL CA сертификаты". curl.se.
- ^ Дел, Райан (2 марта 2018 г.). «Командный эквивалент cURL и Wget для командной строки Windows с Powershell» [эквивалентные команды cURL и Wget для командной строки Windows с Powershell] (HTML). Рядель (на итальянском). Получено 4 января 2020.
Для эмуляции компилятора Linux cURL необходимо создать файл cURL.ps1, содержащий текущий код