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 path
cookie-jar = path
← 設定ファイル
同じように -b
のオプションも同じですね。
-b path
--cookie path
cookie = path
← 設定ファイル
つまり、header の場合はこれを使うと
-H value
--header value
header = 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