Linuxコマンド curl

ブラウズするように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)は自動化できる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です