curl の基本設定ファイルを作ることが出来る
~/.curlrc Default config file, see -K, --config for details.
.curlrc に書く書き方は -K で指定する config ファイルと同じ
curl の毎回指定するのめんどくさいオプションを書いておくと楽
とくに、CookieやUser-Agentなど毎回付けるのが面倒なので、config を作ると楽になる。
とりあえず作った
## デフォルトでつけるよくあるヘッダ header = "Accept-Encoding: gzip, deflate, sdch" header = "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36" header = "X-Config-File: ~/.curlrc" --compressed
X-Config-File は 自分でも curlrc をつけていることを忘れることがあるので、-v した時に気づくように追加しておいた。
gzip / deflate 圧縮を有効にする
header = "Accept-Encoding: gzip, deflate, sdch" --compress
gzip/deflate で転送しつつ、 --compress で 圧縮されたレスポンスを展開して取得して表示する。
2017-02-15 追加
Cookie も毎回指定するならめんどくさいので、設定に書くことにした。
## cookie cookie-jar = /Users/takuya/.curl_cookies cookie = /Users/takuya/.curl_cookies
設定の書き方
どうやらこういう書き方をするといいらしい。
-c path は --cookie-jar path とも書くことが出来る。これを cookie-jar = path と書くことが出来る。
これは以下のように読み替えていけばいい
-c path--cookie-jar pathcookie-jar = path← 設定ファイル
同じように -b のオプションも同じですね。
-b path--cookie pathcookie = path← 設定ファイル
つまり、header の場合はこれを使うと
-H value--header valueheader = value
などと書くことが出来るようですね。
2017-04-11 追記
curlrc がずっと読まれちゃってCookieが維持されちゃうときなど、一時的にcurlrc を無効にしたいときは
curl -q http:/...
と -q オプションを付けることで curlrc の読み込みを一時停止してコマンドを実行することが出来る。
2018/02/15 追加
curlrc はどんなときでも読み込まれる。次のように、明示的にconfig を指定していても ~/.curlrc は読み込まれる。
curl --config yet-another-config
なので、別の設定ファイルを明示するときや素のcurl が欲しい時は -q をかならず使う。
curl -q --config yet-another-config
と -q を忘れないようにすること。
更に、-q は最初につける
## これはダメ curl -v -q ## これはOK curl -q -v
-q オプションは最初につけること
2018-02-04 改訂
compressed になった。
2019-07-22 追記
-K -q の仕様について追記
参考資料
man curl