「CURL」の版間の差分
(→HTTP POST: 情報を更新) |
(ヒントとテクニックを翻訳して追加) |
||
44行目: | 44行目: | ||
$ curl --json '{"key":"value"}' ''URL'' |
$ curl --json '{"key":"value"}' ''URL'' |
||
+ | |||
+ | == ヒントとテクニック == |
||
+ | |||
+ | === リダイレクトを追跡する === |
||
+ | |||
+ | リダイレクト (HTTP から HTTPS へのリダイレクトなど) を追跡するには: |
||
+ | |||
+ | $ curl -L ''URL'' |
||
+ | |||
+ | === ダウンロードエラーを表示する === |
||
+ | |||
+ | デフォルトでは、curl はエラーを無視します (たとえば、ファイルにダウンロードするとき、エラーが発生した場合、curl は通知せず、空のファイルが作成されます) そのため、{{ic|--fail}} を使用してエラーメッセージを表示させたい時: |
||
+ | |||
+ | $ curl --fail ''URL'' |
||
+ | |||
+ | === 圧縮 === |
||
+ | |||
+ | データを [https://everything.curl.dev/usingcurl/downloads/compression 圧縮] して転送する場合 (たとえば、帯域幅が CPU よりも制限されている状況では、curl はデータを圧縮してダウンロードし、ダウンロード後に圧縮を解除します): |
||
+ | |||
+ | $ curl --compressed ''URL'' |
||
+ | |||
+ | === プログレスバー === |
||
+ | |||
+ | curl には、ファイルをダウンロードするときに通常の ProgressBar を使用するオプションがあります (例:{{ic|[##### ] 80%}} ) |
||
+ | |||
+ | $ curl '-#' ''URL'' |
||
+ | |||
+ | === globing === |
||
+ | |||
+ | また、curl で [https://everything.curl.dev/cmdline/globbing globing] を使用することもできます。 |
||
+ | |||
+ | $ curl "example.com/images/[1-9].png" |
||
+ | $ curl "example.com/{first_page,second_page,third_page}" |
||
== 参照 == |
== 参照 == |
||
51行目: | 84行目: | ||
* {{man|1|curl}} |
* {{man|1|curl}} |
||
− | {{TranslationStatus|CURL| |
+ | {{TranslationStatus|CURL|2023-11-20|691337}} |
2023年11月20日 (月) 04:27時点における版
cURL は URL を使ってデータを転送するためのコマンドラインツールおよびライブラリです。このコマンドは、HTTP、HTTPS、FTP、SCP や SFTP などさまざまなプロトコルをサポートしています。また、スクリプトのように、ユーザーの操作なしで動作するように設計されています。
目次
インストール
使用方法
ダウンロード
cURL の一般的な使用例は、指定したファイルにリソースをダウンロードすることです。
$ curl -o file name URL
URL にファイル名が含まれている場合は、リソースをその名前のファイルに直接保存できます。
$ curl -O URL
同様に、-J
を使用すると、ファイルの名前を決めるためのヒントを HTTP サーバー (Content-Disposition
ヘッダー) から受け取ることができます。-O
と組み合わせると、HTTP サーバーが応答でファイル名のヒントを返さなかった場合は、curl は URL で指定されたファイル名を使用します。
また、出力オプションを省略して、リソースを標準出力に出力することもできます。
$ curl URL
HTTP POST
cURL を使用して HTTP POST リクエストを行うことができます。
$ curl -d 'request body' URL
リクエストの本文がコマンドラインに収まらない場合は、cURL はファイルからリクエストを読み込むことができます。
$ curl -d @file name URL
場合によっては、Content-Type
ヘッダーにカスタム値を指定する必要があるかもしれません(cURL のデフォルト値は application/x-www-form-urlencoded
)。これには -H
を使います。例えば、JSON body を利用して、POST リクエストを作成する場合は以下のようにします。
$ curl -d 'json body' -H 'Content-Type: application/json' URL
なお、curl には json で投稿データを書き込み、それらのヘッダーを自動的に変更するオプションもあります: --json
:
$ curl --json '{"key":"value"}' URL
ヒントとテクニック
リダイレクトを追跡する
リダイレクト (HTTP から HTTPS へのリダイレクトなど) を追跡するには:
$ curl -L URL
ダウンロードエラーを表示する
デフォルトでは、curl はエラーを無視します (たとえば、ファイルにダウンロードするとき、エラーが発生した場合、curl は通知せず、空のファイルが作成されます) そのため、--fail
を使用してエラーメッセージを表示させたい時:
$ curl --fail URL
圧縮
データを 圧縮 して転送する場合 (たとえば、帯域幅が CPU よりも制限されている状況では、curl はデータを圧縮してダウンロードし、ダウンロード後に圧縮を解除します):
$ curl --compressed URL
プログレスバー
curl には、ファイルをダウンロードするときに通常の ProgressBar を使用するオプションがあります (例:[##### ] 80%
)
$ curl '-#' URL
globing
また、curl で globing を使用することもできます。
$ curl "example.com/images/[1-9].png" $ curl "example.com/{first_page,second_page,third_page}"
参照
- Wikipedia:ja:cURL
- Everything curl - cURL の使用に関する広範なガイド
- curl(1)