cURL 【client for URL】 curlコマンド
概要
cURL(client for URL)とは、LinuxなどのUNIX系OSでよく利用されるコマンドラインツールの一つで、URLで示されるネットワーク上の場所に対して様々なプロトコル(通信手順)を用いてアクセスできるもの。MITライセンスに基づきオープンソースソフトウェアとして公開されている。システムへの導入後、シェルから「curl」というコマンドに続けてURLやオプションを記述して実行することで、その場所にアクセスして結果を表示したり、ファイルのダウンロード(受信)やアップロード(送信)などを行うことができる。
インターネット上で使用される標準的なプロトコルの多くに対応しており、HTTPやFTP、Telnet、SMTP、POP3、IMAP、TFTP、LDAP、RTMP、RTSP、SCPなどに対応する。SSL/TLSを組み合わたHTTPS、FTPS、SFTP、POP3S、IMAPS、LDAPSなども利用できる。
また、HTTPのPOSTメソッドやPUTメソッドによるデータやファイルの送信、Cookieの取得やセッションの維持、FTPアップロード、プロキシを介した通信、ユーザー名とパスワードによる認証、デジタル証明書(X.509形式)、Kerberos認証、ファイル転送が中断した際のレジューム(再開)、IPv6接続などの機能も利用できる。
主なオプションとして、「-o」で指定のファイル名で保存、「-O」でサーバ上のファイル名で保存、「-I」でHTTPレスポンスヘッダの内容を表示、「-v」でヘッダやステータスコードなど詳細なログの出力、「-x」でプロキシ経由のアクセスを指定、「-A」でユーザーエージェント名を指定、などがある。
通信部分は「libcurl」と呼ばれるライブラリとして提供されており、ソフトウェア開発者はこれを自作のプログラムに組み込んで呼び出すことにより、様々なプロトコルに対応した通信機能を手軽に実装することができる。libcurlの対応OSや対応言語は極めて多岐に渡っており、人気の高いライブラリとなっている。
(2024.3.5更新)