curlコマンドの使い方
curlコマンドについて
curlコマンドとは
curlコマンドは、HTTPやFTPでのダウンロードやアップロードを行うための様々な機能を備えた実行コマンドです。
Webサーバのコンテンツ管理(ファイルのダウンロードやアップロード)する場合に利用すると大変便利です。
curlコマンドの実行例
WEBサイトのトップページを標準出力へ出力する。
WEBサイトトップページのHTMLソースを取得します。
$ curl http://www.capm-network.com/
WEBサイトのトップページをローカルファイル名で保存する
標準出力ではなくローカル上の任意のファイル名で保存します。
「-oオプション」を利用します。
$ curl -o toppage.txt http://www.capm-network.com/
ファイルをアップロードする。
ftpによるアップロードと同様の処理を実行します。
「-T」オプションを利用して、アップロードするファイルを指定します。
$ curl -T memo01.txt ftp://username:passwd@capm-network.com/images/
ディレクトリストアを取得する。
指定URLのディレクトリストアを取得します。
$ curl ftp://username:passwd@capm-network.com/
drwx---r-x 13 capm-network users 512 Sep 14 19:07 .
drwxr-xr-x 139 root wheel 3072 Aug 1 16:53 ..
-rw------- 1 capm-network users 4315 Sep 14 19:07 .bash_history
-rw-r--r-- 1 capm-network users 15 Jun 17 11:05 .bash_profile
-rw-r--r-- 1 capm-network users 455 Jun 17 11:16 .bashrc
-rw-r--r-- 1 capm-network users 773 Jan 7 2009 .cshrc
-rw------- 1 capm-network users 2205 Jun 17 11:01 .history
-rw-r--r-- 1 capm-network users 258 Jan 2 2009 .login
-rw-r--r-- 1 capm-network users 167 Jan 2 2009 .login_conf
-rw-r--r-- 1 capm-network users 762 Jan 7 2009 .profile
-rw-r--r-- 1 capm-network users 980 Jan 2 2009 .shrc
drwx------ 2 capm-network users 512 May 29 13:46 .spamassassin
drwx------ 2 capm-network users 512 May 29 13:46 .ssh
-rw------- 1 capm-network users 8402 Sep 14 19:07 .viminfo
-rw----r-- 1 capm-network users 2630 Jun 17 11:15 .vimrc
drwx------ 4 capm-network users 512 May 29 22:03 MailBox
drwxr-xr-x 2 capm-network users 512 Sep 14 06:01 backup
...
HTTPヘッダーを取得する。
「-Iオプション」を指定することでHTTPヘッダーを取得します。
表示される情報はサーバ側の設定によって変化します。
$ curl -I http://capm-network.com
HTTP/1.1 200 OK
Date: Fri, 14 Sep 2012 18:32:45 GMT
Server: Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
Content-Type: text/html; charset=UTF8
フォームを送信する。
「-d」オプションを指定することでフォームを送信します。
$ curl -d ID=userid -d PW=password http://www.capm-network.com/login.php
サーバとの通信内容を表示する。
「-v」オプションを指定することでサーバとの通信内容を表示します。
$ curl -v http://capm-network.com
* About to connect() to capm-network.com port 80 (#0)
* Trying 182.48.49.203...
* connected
* Connected to capm-network.com (182.48.49.203) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.24.0 (i386-apple-darwin9.8.0) libcurl/7.24.0 OpenSSL/1.0.0g zlib/1.2.7 libidn/1.25
> Host: capm-network.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 14 Sep 2012 18:34:24 GMT
< Server: Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
< Transfer-Encoding: chunked
< Content-Type: text/html; charset=UTF8
<
<!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">