curlコマンド
システム管理者 Unixパワーユーザのためのコマンドリファレンス

[ Linux / Unix リファレンスガイド ] ⇒ [ コマンドリファレンス ] ⇒ [ curlコマンド ]



curl

HTTPをはじめ各種プロトコルに対応した多機能通信クライアントソフト。コマンドラインからブラウザに変わってさまざまな操作が実行可能。

対応プロトコル
HTTP
HTTPS
FTP
FTPS
TFTP
DICT
TELNET
LDAP
FILE
IMAP
IMAPS
POP3
POP3S
SMTP
SMTPS
RTSP
RTMP
-
-
-

最終更新日 2014/09/05

オプション
a FTP/SFTPで上書きせずに追記する
A HTTP接続時のユーザーエージェントを指定
b cockie(準備中)
B FTP/LDAP ASCIIモードを使用する
c cockie(準備中)
C 前回の続きからダウンロードを開始する(レジューム・リジューム)
d HTTPサーバに対しでデータをPOSTする。
D プロトコルヘッダ情報を出力
e HTTPサーバにReferer情報を送信
E SSL証明書を利用する。
f HTTP接続時、HTTPサーバのエラーメッセージを表示せず、エラーコードを返す。
F HTTPでファイルを添付してデータをPOSTする。
g 準備中・・
G 準備中・・
h ヘルプを表示
H HTTPでWEBページをGETする時のヘッダ情報を変更する
i コンテンツの出力時にHTTPヘッダ情報も合わせて表示する。ホスト名、最終更新日時、ファイルサイズなどが表示される。
I HTTPでヘッダ情報のみを取得する。ファイルの最終更新日時とファイルサイズを取得し、コンテンツはダウンロードをしない。
j 準備中・・
J 準備中・・
k 準備中・・
K curl コマンド用の設定ファイルを読み込む
l FTP接続時にファイル情報を表示せず、ファイル名のみを表示する。
L HTTP/HTTPSでの接続時に接続先からサイトの移転(応答コード3XX)が返された場合、再度、移転先への接続を行う。
m 時間制限を設定する
M 準備中・・
n ユーザーのホームディレクトリに .netrc があれば使用する。 .netrc にアカウント情報や設定情報などを保存しておくことが可能<詳細確認追記予定>
N バッファを無効にする。<詳細確認追記予定>
o <filename> ローカルにファイル名を指定して保存
O リモートホスト上からファイル名を変更せずにダウンロードして保存
p Proxyサーバ利用時にHTTP以外のプロトコル通信についてProxyを利用せずにProxy通過を試みる。(詳細調査中)
P FTP通信時、Activeモードでの接続を開始する。
q 設定ファイル(curlrc)が読み込めないか見つからない場合、デフォルトサーチパスの設定ファイルを読み込む。
Q 準備中・・
r 準備中・・
R 準備中・・
s サイレンとモードで動作させる (パラメータやメッセージを表示しない)
S エラーを表示する
t

telnet利用時のオプション。

TTYPE
ターミナルタイプを設定
XDISPLOC <準備中>
NEW_ENV
<準備中>

T 準備中・・
u

ユーザーアカウント・パスワードを指定

U Proxy使用時にユーザーアカウント・パスワードを指定
v デバッグ等を目的に詳細なデータを表示する。このモードでも情報が足りない場合はトレースオプションを利用して下さい。
V curlのバージョンを表示
w 準備中・・
W 準備中・・
x 準備中・・
X 準備中・・
y もしダウンロードの速度が指定以下の速度しか出ない場合、ダウンロードを中止する(時間指定)
Y もしダウンロードの速度が指定以下の速度しか出ない場合、ダウンロードを中止する(速度指定)
z 準備中・・
Z 準備中・・
# 進捗状況をプログレスバーで表示
0 HTTP1.1の代わりにHTTP1.0プロトコルを用いて通信する
1 [SSL] TLSサーバと通信する際、TSLバージョン1を使用する
2 [SSL] SSLサーバと通信する際、SSLバージョン2を使用する
3 [SSL] SSLサーバと通信する際、SSLバージョン3を使用する
4 curlは複数のIPプロトコルに対応できるが、IPv4のみ名前解決を行う
6 curlは複数のIPプロトコルに対応できるが、IPv6のみ名前解決を行う
- 準備中・・

使用例
◆HTTP接続1(htmlがそのまま展開される)
$ curl -f http://127.0.0.1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Linux / Unix コマンドリファレンス</title>
</head>


~(中略)~
</html>

◆HTTP接続2(index.htmlを保存)
$ curl -o index.htm http://www.google.co.jp 
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10852 0 10852 0 0 44801 0 --:--:-- --:--:-- --:--:-- 72346

bash-4.2# ls 
index.htm 

◆HTTP接続3(レジュームする)
$ curl -C - -o gpx-universal.iso http://distfiles.gentoo.org/prefix/x86-interix/gpx-universal.iso
** Resuming transfer from byte position 3682304
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 3202M 0 22.6M 0 0 13711 0 68:01:27 0:28:53 67:32:34 13960

◆HTTP接続でエラーメッセージを省略し、エラーコードを得る。
$ curl -f http://127.0.0.1/nodata
curl: (22) The requested URL returned error: 404 

◆HTTPでまとめていろいろダウンロード
$ curl -O http://127.0.0.1/sendmail.tar.gz -O http://127.0.0.1/apache.tar.gz -O http://127.0.0.1/bind.tar.gz

◆Proxyを利用して接続・ダウンロード (↓proxy.myserver.co.jp と言う名前のProxyを使用する場合)
$ curl -x proxy.myserver.co.jp:8080 http://www.google.com/index.html

◆FTPでダウンロード
$ curl -u user01:password ftp://127.0.0.1/download/test.zip 



関連項目
wget HTTP・FTPで接続する
ftp FTPで接続する