cURL
curl -O の出力例 | |
開発元 | スウェーデン Daniel Stenberg |
---|---|
初版 | 1997年 |
最新版 | 8.11.0 - 2024年11月6日 [±] |
リポジトリ | |
プログラミング 言語 | C言語 |
対応OS | クロスプラットフォーム |
サポート状況 | 開発中 |
種別 | ダウンロードマネージャ |
ライセンス | MIT/X derivate license |
公式サイト |
curl |
cURL(カール[1])は、さまざまなプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供するプロジェクトである。cURLプロジェクトは libcurl と curl の2つの成果を生んでいる。[2]
libcurl
[編集]libcurlとはフリーで使いやすいクライアントサイドURL転送ライブラリであり、2013年10月現在、DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、LDAP、LDAPS、SCP、SFTP、TELNET、TFTPのスキームをサポートしている[3]。2010年2月9日のバージョン7.20.0以降はIMAP、POP3、POP3S、SMTP、SMTPS、RTSPもサポートしている。 libcurlはまたX.509証明書、HTTP POST、HTTP PUT、FTPアップロード、kerberos、HTTPのフォームによるアップロード、プロキシ、HTTPクッキー、ユーザーとパスワードによる認証、ファイル転送のレジューム(中断と再開)、HTTPプロキシトンネリングなどをサポートしている。
libcurlは移植性が高い。libcurlは複数のプラットフォームで同じようにビルド、稼動させることができる。そのプラットフォームには以下のものを含む[3]。 Solaris、NetBSD、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等々。
libcurlはフリーであり、スレッドセーフであり、IPv6 コンパチブルである。機能は多く動作は速い。ソフトウェアプログラマはlibcurlを彼らのプログラムに組み込むことができる。40以上のプログラミング言語でlibcurlのためのバインディングが提供されている。
curl
[編集]curlはURLシンタックスを用いてファイルを送信または受信するコマンドラインツールである。
curlはlibcurlを使うため、幅広いインターネットプロトコルをサポートする。サポートしているプロトコル(より正確にはスキーム)は前項参照。
Daniel Stenbergは1997年にコマンドラインインタフェースでhttp、ftp、gopherその他多くのプロトコルでファイルを転送するための方法としてcurlを書き始めた。その他複数の人々がプロジェクトに重要な貢献をしている。 curlはMIT Licenseに基づき配布されている。curlはフリーソフトウェアである。
Microsoft Windows では、Windows 10 version 1803 以降に標準搭載されている[4]。
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)
サポートされているプロトコル
[編集]その他にサポートされているフォーマットなどは、以下のものを含む。
- X.509 証明書
- HTTP POST
- HTTP PUT
- FTP uploading
- Kerberos
- HTTPフォームによるアップロード
- プロキシ
- HTTPクッキー
- ユーザとパスワードによる認証 (HTTPのBasic, Digest, NTLM, GSS-Negotiate 及び FTPの Kerberos 4 認証)
- ファイル転送のレジューム
- HTTPプロキシトンネリング
作者及び著作権
[編集]Daniel Stenbergは600人以上の助けによりcurlを書いた[5]。著名な貢献者は Dan Fandrich、Yang Tse等である。配布物の中のTHANKS
ファイルは(功績の大小にかかわらず)すべての貢献者の名前を挙げている。
curlの著作権はDaniel Stenbergに所属する。2019年2月にDaniel StenbergがwolfSSLに加わり、wolfSSLがcurlのサポートとコンサルティングを開始した。
脚注
[編集]- ^ “We pronounce curl and cURL with an initial k sound: "kurl".”. 2013年11月26日閲覧。
- ^ “curl vs libcurl”. 2019年9月20日閲覧。
- ^ a b 配布物件のdocs/FAQファイルによる。
- ^ Durr, Yosef. “What's new for the Command Line in Windows 10 version 1803”. Windows Command Line. 20 March 2024閲覧。
- ^ Vivek Gite (2021年3月21日). “Interview with curl creator & software developer Daniel Stenberg”. nixCraft. 2021年3月23日時点のオリジナルよりアーカイブ。2021年3月23日閲覧。