読み方 : リブカール

libcurl

libcurlとは?

アプリケーションにネットワーク通信機能を組み込むためのライブラリコマンドラインツールcurl」の通信機能を担うソフトウェア部品で、MITライセンスに基づいてオープンソースとして公開されている。
libcurlのイメージ画像

ソフトウェア開発者はlibcurlを自分のプログラムに組み込むと、通信処理の細部をゼロから実装することなく、関数を呼び出すだけでデータの送受信が行えるようになる。対応プロトコルHTTPHTTPSFTPSFTPSMTPPOP3IMAPSCPLDAPTFTPRTSPなど数十種類に及ぶ。

SSL/TLS証明書の検証、ユーザー認証プロキシ接続Cookieの管理、中断した転送の再開といった実務で必要となる様々な機能も標準で備えている。受信完了までプログラムを一時停止する同期転送に加え、他の処理をしながら通信完了を待つ非同期転送、複数の転送を同時に実行する並列転送にも対応している。

LinuxWindows、macOSといった主要なオペレーティングシステム(OS)のほか、AndroidやiOS、家電や産業機器の制御システムまで、非常に多くの環境で動作する。C言語のAPIとして提供されているが、PHPPythonRubyJavaGo言語など40以上の言語向けにバインディング(仲介プログラム)が用意されており、開発者は使い慣れた言語からそのまま利用できる。

スウェーデンのダニエル・ステンバーグ(Daniel Stenberg)氏が創始した「cURLプロジェクトで開発されたソフトウェアで、これを組み込んだコマンドラインツールcurl」と共によく知られている。Webアプリケーションやスマートフォンアプリ、車載システムなど、通信機能を持つ様々なソフトウェアに採用されており、長年に渡る世界規模の検証と改良によって高い安定性と信頼性を誇るライブラリである。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。