CURL - cURL

cURL
Curl-logo.svg
Пример вывода из curl -O
Пример вывода из curl -O
Оригинальный автор (ы)Даниэль Стенберг[1]
Разработчики)Участники проекта cURL
изначальный выпуск1997; 23 года назад (1997)[2]
Стабильный выпуск7.74.0 (9 декабря 2020 г.; 13 дней назад (2020-12-09)[3]) [±]
Репозиторий Отредактируйте это в Викиданных
Написано вC
Операционная система
  • AIX
  • AmigaOS
  • BeOS
  • Хром NaCl
  • ДОС
  • DragonFly BSD
  • FreeBSD
  • GNU-Darwin
  • HPUX
  • Хайку
  • Херд
  • IRIX
  • Linux
  • macOS
  • МИНТ
  • Полночь BSD
  • Minix
  • NetBSD
  • NetWare
  • Nexenta
  • OS / 2
  • Открытый сервер
  • OpenBSD
  • Plan9
  • QNX
  • ОС RISC
  • Солярис
  • Слог
  • Tru64 UNIX
  • UnixWare
  • VMS
  • Майкрософт Виндоус
  • z / OS
Платформамного
ТипFTP-клиент / HTTP-клиент
ЛицензияБесплатно программное обеспечение: MIT / X производная лицензия
Интернет сайтзавиток.se Отредактируйте это в Викиданных

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» в следующем порядке:

  1. Каталог, в котором находится программа cURL.
  2. Текущий рабочий каталог.
  3. Системный каталог Windows.
  4. Каталог Windows.
  5. Каталоги, указанные в переменных среды% 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 - аналогичный инструмент командной строки без связанной библиотеки, но с возможностью рекурсивной загрузки.

Рекомендации

  1. ^ а б Стенберг, Даниэль (20 марта 2015 г.). "локон, сегодня 17 лет". daniel.haxx.se. Получено 20 марта 2015.
  2. ^ "История завитка - как завиток стал таким". завиток. Архивировано из оригинал 30 сентября 2017 г.. Получено 17 ноября, 2016. Дэниел просто адаптировал существующий инструмент командной строки с открытым исходным кодом httpget, который написал бразильский Рафаэль Сагула и недавно выпустил версию 0.1. После нескольких незначительных корректировок он сделал именно то, что ему нужно. […] HttpGet 1.0 был выпущен 8 апреля 1997 года с новой поддержкой HTTP-прокси. […] Стенберг писал IRC-бота для канала, связанного с Amiga, в EFnet. Затем ему пришла в голову идея сделать расчеты обмена валют доступными для пользователей Internet Relay Chat (IRC).
  3. ^ "локон - Изменения". cURL. Получено 2020-12-09.
  4. ^ "curl - Часто задаваемые вопросы". curl.se.
  5. ^ Стенберг, Даниэль. «Происхождение имени». curl.se/. Получено 2018-04-25.
  6. ^ а б "cURL: docs / HISTORY.md | Fossies". fossies.org. Получено 29 сентября, 2019.
  7. ^ "Журнал изменений". 4 января 2020 г.. Получено 4 января 2020. Первый релиз curl. До этого инструмент назывался urlget. И httpget перед этим.
  8. ^ Стенберг, Даниэль (4 января 2020 г.). "Восстановлен полный журнал изменений curl" (HTML). Haxx Se. Получено 2 января 2020.
  9. ^ Джонс, М. Тим (8 сентября 2009 г.). «Общение через Интернет с помощью cURL и libcurl - Использование libcurl с C и Python». IBM Developerworks. В архиве из оригинала 14 апреля 2015 г.. Получено 12 сентября 2018.
  10. ^ Стенберг, Даниэль (5 августа 2019 г.). «http09: отключите HTTP / 0.9 по умолчанию и в инструменте, и в библиотеке». GitHub. Архивировано из оригинал (HTML) 5 августа 2019 г.. Получено 5 августа 2019. Поскольку план был выложен в устаревшем. Обновите документы соответствующим образом и проверьте в тесте 1174.
  11. ^ а б "curl - Как использовать". curl.se.
  12. ^ «Компоненты с открытым исходным кодом для собственного SDK для ОС BlackBerry Tablet». Архивировано из оригинал на 2013-01-27. Получено 2017-09-19.
  13. ^ "Tar and Curl приходят в Windows!". techcommunity.microsoft.com. 22 марта 2019.
  14. ^ "curl - SSL CA сертификаты". curl.se.
  15. ^ Дел, Райан (2 марта 2018 г.). «Командный эквивалент cURL и Wget для командной строки Windows с Powershell» [эквивалентные команды cURL и Wget для командной строки Windows с Powershell] (HTML). Рядель (на итальянском). Получено 4 января 2020. Для эмуляции компилятора Linux cURL необходимо создать файл cURL.ps1, содержащий текущий код

внешняя ссылка