cURL
| 開発元 | Daniel Stenberg |
|---|---|
| 最新版 | 7.24.0(2012年1月24日[1]) |
| プログラミング言語 | C言語 |
| 対応OS | クロスプラットフォーム |
| 種別 | ダウンロードマネージャ |
| ライセンス | MIT/X derivate license |
| 公式サイト | curl.haxx.se |
cURL とは、さまざまなプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供するプロジェクトである。cURLプロジェクトは libcurl と cURL の二つの成果を生んでいる。
目次 |
[編集] libcurl
libcurlとはフリーで使いやすいクライアントサイドURL転送ライブラリであり、FTP、FTPS、HTTP、HTTPS、SCP、SFTP、TFTP、Telnet、DICT、FILE、LDAP および LDAPSをサポートする。2010年2月9日のバージョン7.20.0以降はIMAP、POP3、SMTP、RTSPもサポートしている。 libcurlはまた HTTPS 証明書、HTTP POST、HTTP PUT、FTPアップロード, kerberos, HTTPのフォームによるアップロード、プロキシ、クッキー、ユーザーとパスワードによる認証、ファイル転送のレジューム(中断と再開)、HTTPプロキシトンネリングなどをサポートしている。
libcurlは移植性が高い。libcurlは 複数のプラットフォームで同じようにビルド、稼動させることができる。そのプラットフォームには以下のものを含む。 Solaris、NetBSD、FreeBSD、OpenBSD、Darwin、HP-UX、IRIX、AIX、Tru64、Linux、UnixWare、GNU Hurd、Windows、Symbian、Amiga、OS/2、BeOS、Mac OS X、Ultrix、QNX、OpenVMS、RISC OS、NetWare、DOS等々。
libcurlはフリーであり、スレッドセーフであり、IPv6 コンパチブルである。機能は多く動作は速い。ソフトウェアプログラマはlibcurlを彼らのプログラムに組み込むことができる。40以上のプログラミング言語でlibcurlのためのバインディングが提供されている。
[編集] cURL
cURLはURLシンタックスを用いてファイルを送信または受信するコマンドラインツールである。
cURLはlibcurlを使うため、幅広いインターネットプロトコルをサポートする。現在のところ以下のようなプロトコルを含む。
HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、LDAP、LDAPS、DICT、TELNET、FILE.
2010年2月9日のバージョン7.20.0以降はIMAP、POP3、SMTP、RTSPもサポートしている。
Daniel Stenbergは1997年にコマンドラインインタフェースでhttp、ftp、gopherその他多くのプロトコルでファイルを転送するための方法としてcURLを書き始めた。その他複数の人々がプロジェクトに重要な貢献をしている。 cURLはMIT Licenseに基づき配布されている。cURLはフリーソフトウェアである。
[編集] cURLのコマンドラインからの利用の例
cURLの基本的な利用法は単にコマンドラインでcurlの後に取得する出力のURLをタイプすることである。
example.comのホームページを取得するには、以下のようにタイプすればよい。:
curl www.example.com
cURLはデフォルトでは、取得した出力をシステムによって特定された標準出力に表示するようになっている(通常はターミナルウィンドウ)。 したがって上記のコマンドを実行すると、ほとんどのシステムではwww.example.comのソースコードがターミナルウィンドウに表示される。.
cURLは以下のように -o フラグを用いることで取得した出力をファイルに書き出すことができる。
curl -o example.html www.example.com
これはwww.example.comのソースコードをexample.htmlと言う名前のファイルに保存する。 出力を保存するとき、cURLは出力のうちどこまでがダウンロードされたかを表すプログレスバーを表示する。注意:cURLは出力をターミナルウィンドウに表示するときにはプログレスバーを表示しない。プログレスバーが出力の表示を妨げる可能性があるからである。
出力をオリジナルのシステムと同じ名前のファイルに保存するには、-O フラグを用いる。
curl -O (URL)
[編集] サポートされたプロトコル
その他にサポートされているフォーマットは以下のものを含む。
- HTTPS 証明書
- HTTP POST
- HTTP PUT
- FTP uploading
- Kerberos
- HTTPフォームによるアップロード
- プロキシ
- クッキー
- ユーザとパスワードによる認証 (HTTPのBasic, Digest, NTLM, GSS-Negotiate 及び FTPの Kerberos 4 認証)
- ファイル転送のレジューム
- HTTPプロキシトンネリング
[編集] 作者及び著作権
Daniel Stenbergは600人以上の助けによりcURLを書いた。著名な貢献者は Dan Fandrich、Yang Tse等である。配布物の中のTHANKSファイルは(功績の大小にかかわらず)すべての貢献者の名前を挙げている。
cURLの著作権はDaniel Stenbergに所属する。