CURL

cURLは、ネットワークを介したデータ転送を可能にする強力なツール群を提供するプロジェクトです。このプロジェクトは、主に`libcurl`というライブラリと`curl`というコマンドラインツールから構成されています。

libcurl


`libcurl`は、クライアントサイドのURL転送ライブラリで、様々なプロトコルをサポートしています。具体的には、DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、LDAP、LDAPS、SCP、SFTP、TELNET、TFTPといったプロトコルに対応しています。さらに、バージョン7.20.0以降では、IMAP、POP3、POP3S、SMTP、SMTPS、RTSPもサポートされています。

`libcurl`は、単にプロトコルをサポートするだけでなく、X.509証明書、HTTP POSTやPUT、FTPアップロード、Kerberos認証、HTTPフォームによるアップロード、プロキシ、HTTPクッキー、ユーザー認証、ファイル転送のレジューム、HTTPプロキシトンネリングなど、多岐にわたる機能を提供しています。

特筆すべきは、`libcurl`の高い移植性です。SolarisNetBSD、FreeBSD、OpenBSD、Darwin、HP-UX、IRIX、AIX、Tru64、Linux、UnixWare、GNU Hurd、Windows、Amiga、OS/2、BeOS、macOS、Ultrix、QNX、OpenVMS、RISC OS、NetWare、DOS、Symbian、OSF、Android、MINIX、IBM TPFといった幅広いプラットフォームで動作します。また、スレッドセーフであり、IPv6にも対応しているため、現代的なネットワーク環境においても安心して利用できます。`libcurl`は、多くのプログラミング言語(40以上)でバインディングが提供されており、ソフトウェア開発者は自分のプログラムに容易に組み込むことができます。

curl


`curl`は、コマンドラインからURLを利用してファイルの送受信を行うためのツールです。`libcurl`を基盤としているため、`libcurl`がサポートする多くのプロトコルを利用できます。1997年にDaniel Stenbergによって開発が開始され、その後、多くの貢献者によって発展してきました。

`curl`はMITライセンスの下で配布されているフリーソフトウェアであり、Microsoft Windowsでは、Windows 10 version 1803以降に標準搭載されています。

コマンドラインでの利用例

`curl`の基本的な使い方は、コマンドラインで`curl`コマンドに続けてURLを指定するだけです。例えば、`example.com`のホームページを取得するには、次のように入力します。

bash
curl www.example.com


このコマンドを実行すると、デフォルトでは`example.com`のソースコードがターミナルに表示されます。出力結果をファイルに保存したい場合は、`-o`フラグを使用します。

bash
curl -o example.html www.example.com


上記の例では、`example.com`のソースコードが`example.html`という名前のファイルに保存されます。また、`-O`フラグを使用すると、元のファイル名で保存することも可能です。

bash
curl -O (URL)


ファイルをダウンロードする際には、ダウンロードの進捗状況を示すプログレスバーが表示されます。ただし、ターミナルに直接表示する場合は、プログレスバーは表示されません。

その他のサポート


`curl`は、以下のような機能もサポートしています。

X.509証明書
HTTP POST/PUT
FTPアップロード
Kerberos認証
HTTPフォームによるアップロード
プロキシ
HTTPクッキー
ユーザー認証(HTTPのBasic, Digest, NTLM, GSS-Negotiate、およびFTPのKerberos 4認証
ファイル転送のレジューム
HTTPプロキシトンネリング

作者と著作権


`curl`は、Daniel Stenbergによって開発されました。600人以上もの貢献者の協力を得ており、貢献者の一覧は配布物に含まれるTHANKSファイルに記載されています。`curl`の著作権はDaniel Stenbergに帰属し、2019年2月からは、wolfSSLが`curl`のサポートとコンサルティングを行っています。

関連情報


GNU Wget
lftp
公式ウェブサイト
curl manual(英文)
Comparison of cURL vs other open source download tools(英文)
curl man page 日本語訳

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。