読み方 : リブカール
libcurl
libcurlとは?

ソフトウェア開発者はlibcurlを自分のプログラムに組み込むと、通信処理の細部をゼロから実装することなく、関数を呼び出すだけでデータの送受信が行えるようになる。対応プロトコルはHTTP、HTTPS、FTP、SFTP、SMTP、POP3、IMAP、SCP、LDAP、TFTP、RTSPなど数十種類に及ぶ。
SSL/TLS証明書の検証、ユーザー認証、プロキシ接続、Cookieの管理、中断した転送の再開といった実務で必要となる様々な機能も標準で備えている。受信完了までプログラムを一時停止する同期転送に加え、他の処理をしながら通信完了を待つ非同期転送、複数の転送を同時に実行する並列転送にも対応している。
LinuxやWindows、macOSといった主要なオペレーティングシステム(OS)のほか、AndroidやiOS、家電や産業機器の制御システムまで、非常に多くの環境で動作する。C言語のAPIとして提供されているが、PHPやPython、Ruby、Java、Go言語など40以上の言語向けにバインディング(仲介プログラム)が用意されており、開発者は使い慣れた言語からそのまま利用できる。
スウェーデンのダニエル・ステンバーグ(Daniel Stenberg)氏が創始した「cURL」プロジェクトで開発されたソフトウェアで、これを組み込んだコマンドラインツール「curl」と共によく知られている。Webアプリケーションやスマートフォンアプリ、車載システムなど、通信機能を持つ様々なソフトウェアに採用されており、長年に渡る世界規模の検証と改良によって高い安定性と信頼性を誇るライブラリである。