ブラウズするようにWebファイルをGETしたりコマンドを送信したりできるコマンドです。
wgetが使えないディストリビューションの代わりに似たような機能のcurlコマンドがあります。
wgetは再帰的に(サイト全部をクロール)curlはそのページだけ、連番ファイルのダウンローダーとして使えるという差があります。
example.comサイトのトップページを標準出力へ出力
$ curl http://www.example.com/
標準出力ではなくローカルへ自由なファイル名で保存する際、-oオプション
$ curl -o toppage.jpg http://www.example.com/
O(オーの大文字)オプションだとURL上のファイル名で保存
※ファイル名が無いURLだと、ファイルが作成されない。
$ curl -O http://www.example.com/images/photo1.jpg
ファイルをアップロードする。-Tの後にアップロードするファイルを指定
$ curl -T image01.jpg -u userid:password ftp://ftp.example.com/images/
ユーザ名とパスワードは以下のようにURLに含めて記述することも可能
$ curl -T image01.jpg ftp://name:passwd@example.com/images/
以下のコマンドはexample.comのディレクトリストアを取得する。
$ curl ftp://name:passwd@example.com/
d オプションでフォームを送信する。
$ curl -d ID=userid -d PW=password http://www.hoge.com/login.php
IオプションでHTTPヘッダーを取得する。
$ curl -I http://google.com/
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sun, 04 Apr 2010 15:20:49 GMT
Expires: Tue, 04 May 2010 15:20:49 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
ベーシック認証のページにアクセスする時。”- -basic”オプション(省略は-u)
ユーザIDとパスワードをコロンで区切って指定
curl -u username:password http://www.example.com/member/
SSL接続で証明書のエラーをスキップ、-k オプション
curl -k https://www.example.com/
クッキーを保存するためには「 -c cookie.txt 」のように保存先を指定
curl -c cookie.txt http://www.example.com/
ファイルへ保存したクッキーを送信する場合は、「 -b 」オプションでクッキーが保存されているファイルを指定
curl -b cookie.txt http://www.example.com/
クッキーを送信しまた新たなクッキーを保存するには「-c」と「 -b 」を並記する。
curl -b cookie.txt -c cookie2.txt http://www.example.com/
「 -d name=value 」のようにフォームの名前と値をイコールで繋いで指定。
このオプションは複数個指定できる。
このオプションを使うと、POSTコマンドが送信
curl -d ID=userid -d PW=password http://www.example.com/login.cgi
curl -d ‘ID=userid&PW=password’ http://www.example.com/login.cgi
FTP、WebDAVでファイルのアップロード ( -T , –upload-file )
curl -T photo.jpg -u userid:password ftp://ftp.example.com/
例えばFTPが使えないブログのファイルアップロードや画像掲示板、ログインサービス(filebank)は自動化できる。