Unix-commands-curl
curl-Unix、Linuxコマンド
NAME
概要
説明
Curlは、HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、TELNET、LDAP、またはFILEのいずれかのプロトコルを使用して、サーバーとの間でデータを転送します。 (複数のファイルを転送するには、wgetまたはFTPを使用します。)
オプション
Tag
説明
url
順番に取得される1つまたは複数のURL。 複数のURLまたはURLの一部を指定するには、次のように中括弧内にパーツセットを記述します。
-A「エージェント文字列」--user-agent「エージェント文字列」
HTTPサーバーに送信するUser-Agent文字列を指定します。 文字列内の空白をエンコードするには、文字列を一重引用符で囲みます。 これは、-H、-headerオプションでも設定できます。 (HTTP)
-b name = data—cookie name = data
データをCookieとしてHTTPサーバーに送信します。 これは、以前に「Set-Cookie:」行でサーバーから受信したデータと思われます。 データは「NAME1 = VALUE1; NAME2 = VALUE2」の形式である必要があります。
-c filename—cookie-jarファイル名
操作が完了したら、Cookieをファイルに保存します。 Curlは、以前に指定されたファイルから読み取られたすべてのCookieと、リモートサーバーから受信されたすべてのCookieを書き込みます。 Cookieが不明な場合、ファイルは書き込まれません。 stdoutに書き込むには、ファイル名を単一のダッシュ「-」に設定します。
-圧縮
curlがサポートするアルゴリズム(gzip)のいずれかを使用して圧縮された応答を要求し、圧縮されていないドキュメントを保存します。 このオプションが使用され、サーバーがサポートされていないエンコードを送信すると、curlはエラーを報告します。(HTTP)
-d @ file-d "string"-data "string"
Webブラウザーが行うのと同じ方法で、指定されたデータを(HTTP)POST要求で送信します。 これは、content-type application/x-www-form-urlencodedを使用してデータを渡します。 -F、-formと比較してください。
-d、-dataは—data-asciiと同じです。 純粋なバイナリでデータを投稿するには、-data-binaryを使用します。
フォームフィールドの値をURLエンコードするには、-data-urlencodeを使用できます。 複数の日付オプションが一緒にマージされます。 したがって、「-d name = daniel -d skill = lousy」を使用すると、「name = daniel&skill = lousy」のような投稿が生成されます。 データが@で始まる場合、残りはデータを含むファイル名でなければなりません。
-F name = @ file-F name = content—form name = content
ユーザーが送信ボタンを押した記入済みフォームをエミュレートします。 これは、RFC 2388に従ってContent-Type multipart/form-dataを使用してデータをPOSTします。 これにより、バイナリファイルなどのアップロードが可能になります。 データが@で始まる場合、残りはファイル名である必要があります。 ファイルからコンテンツ部分を取得するには、ファイル名の前に記号<を付けます。 @と<の違いは、@はファイルのアップロードとして投稿にファイルを添付するのに対し、<はテキストフィールドを作成し、そのテキストフィールドの内容をファイルから取得することです。
-k-安全でない
このオプションにより、curlは「安全でない」SSL接続と転送を明示的に実行できます。 すべてのSSL接続は、デフォルトでインストールされたCA証明書バンドルを使用して、セキュアモードで試行されます。 これにより、-k、-insecureを使用しない限り、「安全でない」と見なされるすべての接続が失敗します(SSL)。
-制限速度
最大転送速度を指定します。 この機能は、パイプが制限されていて、転送で帯域幅全体を使用しない場合に便利です。 指定された速度は、サフィックスが追加されない限り、バイト/秒で測定されます。 「k」または「K」を追加すると、数値はキロバイト/秒、「m」または「M」メガバイトとしてカウントされ、「g」または「G」はギガバイト/秒になります。 例:200K、3m、1G。
-m秒-最大時間秒
操作全体にかかる最大時間。 これは、低速なネットワークまたはリンクのダウンによりバッチジョブが数時間ハングするのを防ぐのに役立ちます。 --connect-timeoutオプションも参照してください。
-o file-出力ファイル
stdoutの代わりにファイルに出力を書き込みます。 \ {}または[]を使用して複数のドキュメントを取得する場合、「#」の後にファイル指定子の数字を使用できます。 その変数は、取得されるURLの現在の文字列に置き換えられます。 のように:
または、次のようないくつかの変数を使用します。
このオプションは、所有しているURLの数だけ使用できます。 ローカルディレクトリを動的に作成する—create-dirsオプションも参照してください。 '-'を指定すると、出力が強制的に標準出力になります。
-O—リモート名
取得したリモートファイルのような名前のローカルファイルに出力を書き込みます。 (リモートファイルのファイル部分のみが使用され、パスは切り捨てられます。)保存に使用するリモートファイル名は、指定されたURLから抽出されます。 その結果、ファイルは現在の作業ディレクトリに保存されます。
-s—サイレント
サイレントモードまたはクワイエットモード。 進行状況メーターやエラーメッセージを表示しません。
--trace-asciiファイル
記述情報を含む、指定された出力ファイルへのすべての着信および発信データの完全なトレースダンプを有効にします。 出力をstdoutに送信するには、ファイル名として「-」を使用します。 このオプションは、以前の-v、-verbose、または—trace-asciiの使用を上書きします。 このオプションを複数回使用すると、最後のオプションが使用されます。
-Tファイル-アップロードファイルファイル
指定したローカルファイルをリモートURLに転送します。 PUT指定されたURLにファイルパーツがない場合、Curlはローカルファイル名を追加します。 ファイル名がないことをCurlに実際に証明するには、最後のディレクトリで末尾の/を使用する必要があります。Curlは、最後のディレクトリ名が使用するリモートファイル名であると見なします。 stdinを使用するには、ファイル名「-」を使用します。 コマンドラインでURLごとに1つの-Tを指定できます。 それぞれの-T URLペアは何をどこにアップロードするかを指定します。 curlは、-T引数の「グロビング」もサポートしています。つまり、次のように、単一のURLに複数のファイルをアップロードできます。
あるいは
-私-頭
HTTPヘッダーのみを取得してください! (HTTP/FTP/FILE)HTTPサーバーには、コマンドのHEADがあり、これを使用してドキュメントのヘッダーのみを取得します。 FTPまたはFILEファイルで使用する場合、curlはファイルサイズと最終変更時刻のみを表示します。
-u user:password—user user:password
サーバー認証に使用するユーザー名とパスワード。 -n、--netrc、および—netrc-optionalをオーバーライドします。 (コロンを入力せずに)ユーザー名を指定するだけの場合、curlはパスワードの入力を求めます。 SSPI対応のcurlバイナリを使用してNTLM認証を行う場合、次のオプションで単一のコロンを指定することで、環境からユーザー名とパスワードをピックアップするようにcurlを強制できます: "-u:"。 このオプションを複数回使用すると、最後のオプションが使用されます。
-w-書き出し形式
操作が正常に完了した後に標準出力に表示する追加情報を定義します。 形式は、任意の数の変数と混合したプレーンテキストを含む文字列です。 フォーマット文字列は「string」として指定するか、ファイルから読み取るには「@filename」を指定して、stdinからフォーマットを読み取るには「@-」を使用します。 さまざまな変数をフォーマットに含めることができ、curlに置き換えられます(ファイルサイズ、IPアドレスなど、詳細についてはman curlを参照してください)。 変数は%\ {variable_name}として指定されます。\ nを使用して改行を出力し、\ rでキャリッジリターンを、\ tでタブスペースを出力します。
-x host:port-x [protocol://] [user:password @] proxyhost [:port] --proxy [protocol://] [user:password @] proxyhost [:port]
指定されたHTTPプロキシを使用します。 ポート番号が指定されていない場合、ポート1080であると想定されます。
-H "name:value"-ヘッダー "name:value"
Webページを取得するときにヘッダーを追加します。 追加のヘッダーをいくつでも指定できます。
-H "name:"-ヘッダー "name:"
ヘッダーを削除、内部ヘッダーを削除します。
-L—場所
要求されたページが移動したことをサーバーが報告した場合、リダイレクトに従います(Location:ヘッダーと3XX応答コードで示されます)
-v—詳細
より冗長/おしゃべりにする。 デバッグに最も役立ちます。
例
パスワードファイルをサーバーに送信するには、「password」は/etc/passwdが入力されるフォームフィールドの名前です。
Webページを取得してターミナルに表示するには
Webページを取得してヘッダー情報を表示するには
Webページを取得してファイルに保存します。
Webページまたはリダイレクトされたターゲットを取得するには
データ転送速度を1キロバイト/秒に制限するには
プロキシサーバー経由でダウンロードするには
link:/cgi-bin/printpage.cgi [__印刷]