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">

関連ページ