wgetとcurlの使い分けについて
結局どっちを使えばいいの?
curlもwgetもサーバーからのレスポンスを見たり、情報を取得する際になんとなく使ってませんか?
(主にcurlが何でもできるため、脳みそ停止で使ってませんか?)
🤔「どっちも見たい情報取れるんだし、別に好きな方でよくね?」
😇「いやいや、それぞれ得意分野があるんですよ」
これを機会に、今後は気をつけて使い分けてみませんか?
そもそもこれらって何だっけ?
wget(だぶるげっと)とは
- Getリクエストを投げる
- クローラーとしても使えるダウンローダー
- 幅広く情報を取得するのが得意
- 再帰的なダウンロードが可能
curl(かーる)とは
- 基本的にはGetリクエストを投げる(Postもできちゃう)
- HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、TELNET、LDAP、FILEなど、対応プロトコルの種類が多い
- プロキシ、ユーザー認証、FTPアップロード、HTTP POST、SSL接続なども可能
オススメの使い方
wget
基本的には
wget “https://red-full-moon.com"
の様にURLを指定して使用する。
また代表的なオプションは下記の通り
今回紹介するコマンドの例でのURLはあくまでも具体例で、動作保証はできませんのであしからず…
- -O(保存先の指定)
- wget “https://red-full-moon.com" -O ./test.html
- ダウンロードしたファイルの保存先を指定出来る
- ファイル名を – とすると、ファイルに保存せずに標準出力される
- 指定しないとカレントディレクトリに保存される
- ダイレクト(>)でも代用可能
- -r(再帰的なファイルの取得)
- wget -r -l 3 -np -H “https://red-full-moon.com"
- 再帰的なダウンロードを実行(デフォルトは5階層まで)
- -l で階層を指定できる
- -npで上位ディレクトリへは遡らなくなる
- -Hでリンクのある外部サイトまで取得する
- -Dで外部サイトのドメインを指定することも出来る
- -Dで外部サイトのドメインを指定することも出来る
- -i (リストファイルの読み込み)
- wget -i ./list.txt
- リストファイルに改行区切りで記述されたURLを順番に取得します
- -p(スタイルシートなどの読み込み)
- wget -p “https://red-full-moon.com"
- そのURLの表示必要なjsやcssなども一括で取得します
- –http-user={username} –http-passwd={password} (ベーシック認証)
- wget -http-user={username} –http-passwd={password} “https://red-full-moon.com"
- ベーシック認証のかかったサイトから情報を取得する場合は必須
curl
基本的には
curl “https://red-full-moon.com"
の様にURLを指定して使用する。
また代表的なオプションは下記の通り
- -o(保存先の指定)
- curl “https://red-full-moon.com" -o ./test
- ダイレクト(>)でも代用可能
- -sS(エラーメッセージ以外の非表示可)
- curl -sS " https://red-full-moon.com" -o ./test
- curl -sS " https://red-full-moon.com" -o ./test
- -X POST(Postリクエスト)
- curl “https://red-full-moon.com" –data-urlencode 'json={hogehoge}’ -X POST
- –data-urlencode で生データでもエンコードしてくれる
- –anyauth –user user:password (自動認証)
- curl –anyauth –user user:password “https://red-full-moon.com
- 認証方式を自動的に判別して、認証してくれる
ディスカッション
コメント一覧
まだ、コメントがありません