curl(1)

ファイルのダウンロードやアップロードを行う

構文

curl [オプション] [URL...]

オプション

-a, --appendFTPアップロード時にファイルを上書きではなく追記する
-b, --cookie COOKIEデータCOOKIEをcookieとして送信する。COOKIEは「"name=data"」の形式で指定する
-c, --cookie-jar FILEcookieをファイルFILEとして保存する
-d, --data PARAM...POSTリクエストとしてフォームを送信する。パラメータPARAMは「"value=name"」の形式で指定する
-e, --referer URLリファラーをURLで指定する
-f, --failサーバエラーが発生したら黙って終了する
-i, --includeHTTPヘッダを出力に含める
-k, --insecureSSL/TLSのエラーをスキップする(安全でないSSL/TLS接続を行う)
-m, --max-time TIME最大転送時間をTIME秒に制限する
-o FILE取得したデータを指定したファイルFILEに出力する
-r, --range FROM-TOファイルの先頭位置をFROM, 範囲をTOバイトとして分割してダウンロードする
-s, --silent進捗状況やエラーを表示しない
-u USER[:PASS]認証に用いるユーザー名USER, パスワードPASSを指定する(基本認証など)
-v, --verboseリクエストとレス本をを表示する
-x HOST[:PORT]プロキシサーバとしてホストHOSTおよびポートPORTを利用する
-y, --speed-time TIME転送速度が指定した速度をTIME秒の間下回ったらダウンロードを終了する。速度は-Yオプションで指定する
-A, --user-agent AGENTユーザーエージェントAGENTを指定する
-B, --use-asciiFTPでASCII転送を有効にする
-C, --continue-at OFFSET以前のファイル転送の続きから再開する(OFFSETは先頭からの読み飛ばしバイト数、「-」ならcurlが自動的に処理)
-D, --dump-header FILEプロトコルヘッダをファイルFILEに書き込む
-E, --cert CERT[:PASS]SSL/TLS接続時にクライアント証明書CERTを使用する
-F, --form PARAMフォーム入力で送信ボタンを押した状況を行う。パラメータPARAMは「"name=content"」の形式で指定する
-G, --getHTTP GETリクエストで送信する
-H, --head HEADERHTTPヘッダにHEADERを追加もしくは変更する
-I, --headヘッダ情報を取得する
-K, --config FILE設定ファイルFILEを読み込、それを引数として実行する
-L, --locationリダイレクトに対応する
-O, --remote-name取得したデータを標準出力ではなくファイルに出力する
-R, --remote-timeダウンロードしたファイルのタイムスタンプをサーバ上のタイムスタンプに合わせる
-T, --upload-file FILEファイルFILEをアップロードする
-U, --proxy-user USER[:PASS]プロキシ認証に用いるユーザー名USER, パスワードPASSを指定する
-Y, --speed-limit BPS転送速度がBPSバイト/秒を一定時間下回ったらダウンロードを終了する。時間は-yオプションで指定する
-Z, --max-redirs MAXリダイレクトを最大MAX回に制限する
-#, --progress-bar進捗状況を表示する
-0, --http1.0HTTP 1.0でリクエストする
-1, --tlsv1TSLバージョン1.xを使ってネゴシエーションを行う
-2, --sslv2SSLバージョン2を使ってネゴシエーションを行う
-3, --sslv3SSLバージョン3を使ってネゴシエーションを行う
-4, --ipv4IPv4で名前解決する
-6, --ipv6IPv6で名前解決する
--http1.1HTTP 1.1でリクエストする(デフォルト)
--http2HTTP 2でリクエストする
--cacert CACERT証明書ファイルCACERTを検証に用いる
--capath DIR証明書ディレクトリDIRを検証に使用する
--compressedファイルの圧縮をサポートする
--create-dirs必要に応じてディレクトリを作成する
--connect-timeout TIME最大接続時間をTIME秒に制限する
--digestダイジェスト認証を有効にする
--dns-servers ADDRESS名前解決に利用するDNSサーバのIPアドレスを指定する
--ftp-create-dirsFTP接続時に必要に応じてディレクトリを作成する
--ftp-pasvFTPのパッシブモードを使用する
--limit-rate SPEED最大転送速度をSPEEDバイト/秒に制限する(単位としてK/G/Mを利用可)
--retry NUMエラーが出た場合、NUM回数だけ再試行する
--ssl接続時にSSL/TLSの利用を試みる
--url URLアクセスするURLを指定する(設定ファイル内)

説明

HTTPやFTPを使って、ファイルをダウンロードしたりアップロードしたりする。対応しているプロトコルは、DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、TELNET、TFTPである。

使用例

index.htmlをダウンロードする。

$ curl -O http://www.example.com/index.html

data001.txt~data100.txtまでの連番ファイルをダウンロードする。

$ curl -O ftp://ftp.example.com/data[001-100].txt

関連事項

wget、ftp