出力例 curl -O | |
| 原作者 | ダニエル・ステンバーグ[1] |
|---|---|
| 開発者 | curl プロジェクトへの貢献者 |
| 初回リリース | 1996年[2] |
| 安定版リリース | 8.11.1 [3]
/ 2024年12月11日 |
| リポジトリ |
|
| 書かれた | C |
| プラットフォーム | クロスプラットフォーム |
| タイプ | Web クライアント( HTTPSやFTPなどをサポート) |
| ライセンス | curlライセンス[4] [5](MITライセンス[5]に触発された)、またISC、3条項BSD、4条項BSD [6] |
| Webサイト | カール |
cURL(「カール」と発音し、[7] / k ɜːr l /)は、さまざまなネットワークプロトコルを使用してデータを転送するためのライブラリ(libcurl)とコマンドラインツール(curl )を提供するコンピュータソフトウェアプロジェクトです。名前は「Client for URL」の略です。[8]
歴史
curlは1996年に初めてリリースされました。[9]当初はhttpgetという名前でしたが、その後urlgetになり、現在のcurlという名前が採用されました。[10] [11]オリジナルの作者でありリード開発者はスウェーデンの開発者Daniel Stenbergで、彼はIRCユーザーのために通貨の為替レートの取得を自動化したいと考え、curlを作成しました。[2]
libcurl
libcurl は curl を動かす無料のクライアント側 URL 転送ライブラリで、[12]クッキー、DICT、FTP、FTPS、Gopher、HTTP/1 [13] ( HTTP/2およびHTTP/3をサポート)、HTTP POST、HTTP PUT、HTTP プロキシトンネリング、HTTPS、IMAP、Kerberos、LDAP、MQTT、POP3、RTSP、RTMP、SCP、SMTP、およびSMBをサポートしています。ライブラリは、ファイル URI スキーム、SFTP、Telnet、TFTP、ファイル転送再開、 FTP アップロード、 HTTP フォームベースのアップロード、 HTTPS 証明書、 LDAPS 、プロキシ、およびユーザーとパスワードによる認証をサポートしています。[14]
libcurlライブラリは移植性があり、AIX、AmigaOS、Android、[要出典] BeOS、BlackBerry Tablet OSおよびBlackBerry 10、[15] OpenVMS、Darwin、DOS、FreeBSD、HP-UX、HURD、iOS、IRIX、Linux、macOS、NetBSD、NetWare、OpenBSD、OS/2、QNX Neutrino、RISC OS、Solaris、Symbian、Tru64、Ultrix、UnixWare、Microsoft Windows、OpenHarmonyなど、ほとんどのプラットフォームで同じように構築および動作します。[16] [17] [18]
libcurlライブラリはスレッドセーフでIPv6と互換性があります。バインディングはC / C++、Java、Julia(バンドルされています)、PHP、Pythonなど50以上の言語で利用できます。[19]
libcurlライブラリは、GnuTLS、mbed TLS、NSS、IBM i上のgskit 、Windows上のSChannel 、 macOSおよびiOS上のSecure Transport 、 OpenSSL、BoringSSL、libreSSL、AmiSSL、wolfSSL、BearSSL、rustlsを介したSSL/TLSをサポートしています。[20]
カール
curlはURL構文を使用してファイルを含むデータを取得または送信するためのコマンドラインツールです。curlはlibcurlライブラリへのインターフェースを提供し、libcurlがサポートするすべてのプロトコルをサポートします。[14]
curl はHTTPS をサポートしており、HTTPS などの安全なプロトコルが指定されている場合は、デフォルトで SSL 証明書の検証を実行します。 curl が HTTPS 経由でリモート サーバーに接続すると、リモート サーバーの証明書を取得し、そのCA 証明書ストアと照らし合わせてリモート サーバーの有効性をチェックし、リモート サーバーが主張するとおりのサーバーであることを確認します。 一部の curl パッケージには、CA 証明書ストア ファイルがバンドルされています。--cacertや--capathなど、CA 証明書を指定するためのオプションがいくつかあります。--cacertオプションを使用すると、CA 証明書ストア ファイルの場所を指定できます。 Windows プラットフォームでは、CA 証明書ファイルが指定されていない場合、curl は次の順序で CA 証明書ファイル名「curl-ca-bundle.crt」を検索します。
- curl プログラムが配置されているディレクトリ。
- 現在の作業ディレクトリ。
- Windows システム ディレクトリ。
- Windows ディレクトリ。
- %PATH%環境変数で指定されたディレクトリ。[21]
リモート サーバーが自己署名証明書を使用している場合、またはリモート サーバーの証明書が CA 証明書ファイルにリストされている CA によって署名されていない場合、curl はエラー メッセージを返します。 -kまたは--insecureオプションを使用すると、証明書の検証をスキップできます。または、リモート サーバーが信頼されている場合は、リモート サーバーの CA 証明書を CA 証明書ストア ファイルに追加できます。
例
curl の基本的な使用方法は、コマンド ラインでcurlと入力し、その後に取得する出力の URL を入力するだけです。
$カール www.example.com
curl は、デフォルトで、取得した出力をシステムで指定された標準出力 (通常はターミナル ウィンドウ) に表示します。したがって、上記のコマンドを実行すると、ほとんどのシステムでは、ターミナル ウィンドウに www.example.com のソース コードが表示されます。代わりに、-o フラグを使用して出力をファイルに保存することもできます。
$ curl -o example.html www.example.com
ツールの動作を変更するその他のオプションが利用可能です。
参照
- curl-loader – curl をベースにしたオープンソースのテストツール
- libwww – コマンドラインインターフェースを備えた初期のライブラリ
- PowerShell – iwr (Invoke-WebRequest) Windows PowerShellにはcurlと同様の機能があり、Webクライアントクラスもあります。[22]
- ウェブクローラー– ウェブをクロールできるインターネットボット
- Wget – 関連するライブラリはないが、再帰ダウンロードが可能な同様のコマンドラインツール
参考文献
- ^ Stenberg, Daniel (2015年3月20日). 「curl、今日で17歳」. daniel.haxx.se . 2015年3月20日閲覧。
- ^ ab 「curl の歴史 - curl がこのような形になった経緯」。curl。2017 年 9 月 30 日のオリジナルからアーカイブ。2016年11 月 17 日閲覧。Daniel
は、ブラジルの Rafael Sagula が作成し、最近バージョン 0.1 をリリースした既存のコマンドライン オープンソース ツール httpget を採用しただけです。いくつかの小さな調整を行った後、Daniel が求めていた機能が実現しました。[...] HttpGet 1.0 は、1997 年 4 月 8 日に、まったく新しい HTTP プロキシ サポートを備えてリリースされました。[...] Stenberg は、EFnet の Amiga 関連チャンネル用の IRC ボットの作成に時間を費やしていました。その後、彼はインターネット リレー チャット (IRC) ユーザーが通貨交換計算を利用できるようにするというアイデアを思いつきました。
- ^ Daniel Stenberg. 「Curl: [RELEASE] curl 8.11.1」 。 2024年12月11日閲覧。
- ^ 「curl ライセンス」。spdx.org。
- ^ ab "curl - copyright". curl.se . 2024年1月15日時点のオリジナルよりアーカイブ。2024年1月17日閲覧。
- ^ Mehl, Max; Stenberg, Daniel (2022 年 6 月 13 日). 「コミット「著作権: リポジトリを REUSE に準拠させる」」. GitHub.com。
- ^ 「curl - よくある質問」. curl.se .
- ^ Stenberg, Daniel. 「名前の由来」. curl.se . 2021年3月27日閲覧。
- ^ “History of curl”. fossies.org. 2021年9月17日時点のオリジナルよりアーカイブ。2021年5月11日閲覧。
- ^ 「Changelog」。2020年1月4日。 2020年1月4日閲覧。
最初のcurlリリース。このツールは以前はurlgetという名前でした。その前はhttpgetでした。
- ^ Stenberg, Daniel (2020年1月4日). 「完全なcurl変更ログを復元しました」(html) . Haxx Se . 2020年1月2日閲覧。
- ^ Jones, M. Tim (2009 年 9 月 8 日). 「cURL と libcurl を使用したインターネットでの会話 - C および Python での libcurl の使用」. IBM Developerworks . 2015 年 4 月 14 日時点のオリジナルよりアーカイブ。2018年9 月 12 日閲覧。
- ^ Stenberg, Daniel (2019 年 8 月 5 日). 「http09: ツールとライブラリの両方で HTTP/0.9 をデフォルトで無効にする」. GitHub . 2019 年 8 月 5 日のオリジナル(html)からアーカイブ。2019 年8 月 5 日に取得。
計画は Deprecated に記載されています。それに応じてドキュメントを更新し、テスト 1174 で検証してください。
- ^ ab "curl - 使い方". curl.se .
- ^ 「BlackBerry Tablet OS 用ネイティブ SDK のオープンソース コンポーネント」。2013 年 1 月 27 日時点のオリジナルよりアーカイブ。2017 年 9 月 19 日閲覧。
- ^ 「サードパーティのオープンソースソフトウェア Curl」。Gitee。OpenAtom OpenHarmony。2024年3月17日閲覧。
- ^ 「サードパーティのオープンソースソフトウェア Curl」。GitHub。OpenAtom OpenHarmony。2024年3月17日閲覧。
- ^ 「Tar と Curl が Windows に登場!」techcommunity.microsoft.com。2019 年 3 月 22 日。
- ^ 「libcurl バインディング」. curl.se.
- ^ 「curl は rustls をサポートします | daniel.haxx.se」。2021 年 2 月 9 日。2022 年 1 月 1 日閲覧。
- ^ 「curl - SSL CA 証明書」. curl.se .
- ^ デル、ライアン (2018 年 3 月 2 日)。 「Powershell を使用した Windows コマンド ラインの cURL および Wget と同等のコマンド」(html)。ライデル(イタリア語)。2020 年1 月 4 日に取得。
Linux cURL のコマンドのエミュレーションに従って、ファイル cURL.ps1 のコンテンツを作成するだけで十分です。
外部リンク
- 公式サイト
- curl と他のオープンソース ダウンロード ツールの比較
- Stenberg, Daniel (2021年11月9日) [2007]. 「curlとwgetの比較」
