このガイドでは、curlコマンドを使用してファイルやWebページをダウンロードする方法を説明します。 カールが何であるかを知りたければ、いつwgetを使ってこのページを使うべきですか?
curlコマンドは、http、https、ftp、さらにはsmbを含むさまざまな形式を使用してファイルを転送するために使用できます。
このガイドでは、コマンドの使用方法を説明し、いくつかの主要なスイッチと機能を紹介します。
基本的なカールコマンドの使用法
curlコマンドはインターネットからファイルをダウンロードするのに使用できますが、基本的な形式では、Webページのコンテンツをターミナルウィンドウに直接ダウンロードできます。
たとえば、ターミナルウィンドウに次のコマンドを入力します。
curl http://linux.about.com/cs/linux101/g/curl.htm
出力は端末ウィンドウでスクロールアップされ、リンクされたWebページのコードが表示されます。
明らかに、ページはあまりにも速くスクロールして読むことができるので、速度を落としたい場合は、 lessコマンドまたはmoreコマンドを使用する必要があります。
curl http://linux.about.com/cs/linux101/g/curl.htm | もっと
カールをファイルに出力する
基本的なカールコマンドの使用上の問題は、テキストが非常に高速にスクロールし、ISOイメージなどのファイルをダウンロードしている場合、これを標準出力にしたくないということです。
コンテンツをファイルに保存するには、次のようにマイナスo(-o)スイッチを指定するだけです。
curl -o
したがって、基本コマンドの使用セクションにリンクされているページをダウンロードするには、次のコマンドを入力するだけです。
curl -o curl.htm http://linux.about.com/cs/linux101/g/curl.htm
ファイルがダウンロードされた後、エディタまたはファイルタイプによって決まるデフォルトプログラムで開くことができます。
次のように、マイナスOスイッチ(-O)を使用すると、これをさらに簡単にすることができます。
curl -O http://linux.about.com/cs/linux101/g/curl.htm
これにより、URLのファイル名部分が使用され、URLが保存されるファイル名になります。 上記の例では、ファイルはcurl.htmと呼ばれます。
Curlコマンドをバックグラウンドで実行する
デフォルトでは、curlコマンドは、残っている時間と転送されたデータの量を示すプログレスバーを表示します。
コマンドを実行して他のものとやり取りできるようにするには、最初に行う必要があるのはサイレントモードで実行してから、バックグラウンドコマンドとして実行する必要があります。
コマンドをサイレントモードで実行するには、次のコマンドを使用します。
curl -s -O
コマンドをバックグラウンドで実行するには、次のようにアンパサンド(&)を使用する必要があります。
curl -s -O
複数のURLをカールでダウンロードする
単一のcurlコマンドを使用して、複数のURLからダウンロードできます。
最も単純な形式では、次のように複数のURLをダウンロードできます。
curl -O http://www.mysite.com/page1.html -O http://www.mysite.com/page2.html
Image1.jpg、image2.jpg、image3.jpgなど、100個の画像をすべて含むフォルダがあるとします。これらのURLをすべて入力する必要はなく、そうする必要はありません。
角括弧を使用して範囲を指定することができます。 たとえば、ファイル1〜100を取得するには、次のように指定します。
curl -O http://www.mysite.com/images/image[1-100].jpg
中括弧を使用して、同様の形式の複数のサイトを指定することもできます。
たとえば、www.google.comとwww.bing.comをダウンロードするとします。 次のコマンドを使用するだけです。
curl -Ohttp:// www。{google、bing} .com
進行状況を表示する
デフォルトでは、curlコマンドはURLをダウンロードするときに次の情報を返します。
- 合計%
- 合計バイト数
- 受信/転送%
- 受信バイト/転送バイト
- 平均ダウンロード速度
- 平均アップロード速度
- 合計時間
- 使った時間
- 残り時間
- 現在の速度
単純にマイナスハッシュ( - #)スイッチを次のように指定する単純なプログレスバーを使用する場合は、
curl - #-O
リダイレクトの処理
あなたがcurlコマンドの一部としてURLを指定したとし、あなたが持っているのは「このページはwww.blahにリダイレクトされました。 com " それは気にならないでしょう。
curlコマンドはリダイレクトに従うという点で賢明です。 次のようにマイナスLスイッチ(-L)を使用するだけです。
カール-OL
ダウンロード速度を下げる
大きなファイルをダウンロードしていて、インターネット接続が不十分な場合は、インターネット上のものをやろうとすると家族を悩ませるかもしれません。
幸いにも、curlコマンドでダウンロード速度を下げることができます。そのため、ファイルをダウンロードするのに時間がかかりますが、皆を幸せにすることができます。
カール-O - 制限速度1m
レートは、キロバイト(kまたはK)、メガバイト(mまたはm)またはギガバイト(gまたはG)で指定できます。
FTPサーバーからファイルをダウンロードする
curlコマンドは、単にHTTPファイル転送以上のものを扱うことができます。 FTP、GOPHER、SMB、HTTPSなどの多くのフォーマットを処理できます。
FTPサーバーからファイルをダウンロードするには、次のコマンドを使用します。
curl -u user:password -o
URLの一部としてファイルの名前を指定すると、ファイルがダウンロードされますが、フォルダの名前を指定すると、フォルダのリストが返されます。
curlを使用して、次のコマンドを使用してftpサーバーにファイルをアップロードすることもできます。
curl -u user:password -T <ファイル名>
ファイル名と
フォームデータをフォームに渡す
カールを使用してオンラインフォームに記入し、オンラインで記入したかのようにデータを提出することができます。 Googleのような多くの一般的なサービスは、この種の使用をブロックします。
名前と電子メールアドレスを持つフォームがあるとします。 この情報は次のように提出できます:
curl -d name = john email = john@mail.com www.mysite.com/formpage.php
フォーム情報を転送するにはさまざまな方法があります。 上記のコマンドは基本的なテキストを使用しますが、イメージ転送を可能にするマルチエンコーディングを使用する場合は、マイナスFスイッチ(-F)を使用する必要があります。
概要
curlコマンドにはさまざまな認証方法があり、FTPサイトにアクセスしたり、電子メールを送信したり、SAMBAアドレスに接続したり、ファイルをアップロードしたりダウンロードしたりするのに使用できます。
カールについての詳細は、マニュアルページを参照してください。