最終更新日:170909 原本2014-08-19 

Linuxコマンド集

【curl】

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

日経Linux

curl(1)

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

構文

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

オプション

-a, --append FTPアップロード時にファイルを上書きではなく追記する
-b, --cookie COOKIE データCOOKIEをcookieとして送信する。COOKIEは「"name=data"」の形式で指定する
-c, --cookie-jar FILE cookieをファイルFILEとして保存する
-d, --data PARAM... POSTリクエストとしてフォームを送信する。パラメータPARAMは「"value=name"」の形式で指定する
-e, --referer URL リファラーをURLで指定する
-f, --fail サーバエラーが発生したら黙って終了する
-i, --include HTTPヘッダを出力に含める
-k, --insecure SSL/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-ascii FTPで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, --get HTTP GETリクエストで送信する
-H, --head HEADER HTTPヘッダに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.0 HTTP 1.0でリクエストする
-1, --tlsv1 TSLバージョン1.xを使ってネゴシエーションを行う
-2, --sslv2 SSLバージョン2を使ってネゴシエーションを行う
-3, --sslv3 SSLバージョン3を使ってネゴシエーションを行う
-4, --ipv4 IPv4で名前解決する
-6, --ipv6 IPv6で名前解決する
--http1.1 HTTP 1.1でリクエストする(デフォルト)
--http2 HTTP 2でリクエストする
--cacert CACERT 証明書ファイルCACERTを検証に用いる
--capath DIR 証明書ディレクトリDIRを検証に使用する
--compressed ファイルの圧縮をサポートする
--create-dirs 必要に応じてディレクトリを作成する
--connect-timeout TIME 最大接続時間をTIME秒に制限する
--digest ダイジェスト認証を有効にする
--dns-servers ADDRESS 名前解決に利用するDNSサーバのIPアドレスを指定する
--ftp-create-dirs FTP接続時に必要に応じてディレクトリを作成する
--ftp-pasv FTPのパッシブモードを使用する
--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