スキップしてメイン コンテンツに移動

curl の基本的な使い方 -設定編-

今回のcurl TIPSは、curlをより日常的に使っていくためのHow toです。curlには、数多くのオプションが用意されていて、それらを組み合わせる事で様々な事が楽になるでしょう。サービス監視の自動化などにはまさにcurlの得意分野です。
今回は、curlを更に自分のものにしていくために大事なカスタマイズの部分を解説します。




curlも、bashなどのように、設定ファイルを作成することができます。
ubuntuなどのlinuxディストリビューションでは、ユーザーホームで、「ls -al」コマンドを打ってみると、隠しファイルで「.bashrc」というファイルが見つかるでしょう。
このファイルは、bashの設定ファイルです。windowsでいうところの「iniファイル」ですね。このファイルはテキストファイルなので、「vi」などで開くことができます。
curlにも、この「rcファイル」を読み込む機能があるので、ここに自分好みの設定を書くことができます。curlのrcファイルは、ユーザーホームで以下のように作成します。
cd ~/
vi .curlrc

curlでは、デフォルトの状態ではリダイレクトを無視します。なので、「3xx」のステータスコードに従わせるために、「-L」オプションを指定します。この設定は.curlrcに書きこんでもいいかも知れません。リダイレクト自体、一般的な機能すぎて、一昔前の携帯電話でもない限り、無視するなんてありえませんよね。ただ、「-L」オプションを無効化するオプションは見つからなかったので、この辺はご注意を。
上のコマンドからの続きです。
# curl config start
# config example by Ystream
# -O を常に指定するよう設定します
  -O

# -L で3xxのステータスコードに従います
  -L

# リダイレクト回数の上限を10に設定します(デフォルトは50)
  --max-redirs = 10
  --max-redirs : 10
  --max-redirs 10
  --max-redirs := 10
  max-redirs = 10
# .curlrc では、オプションと設定値の区切り文字が
# 半角スペース、コロン、等号のいずれか、またはその組み合わせとされていますので
# 上記の4つの設定はどれも正解です。
# 一番上が推奨されている設定の仕方です。
# また、一番下のように「--」から始まるオプションは、「--」部分を省略できます
# (この仕様はあえて覚えなくてもいいような・・・)
# ちなみに、同じ設定が複数書かれている場合、どう解釈されるかはオプションによって異なります
# --max-redirsオプションの場合は、最後に記述された設定が採用(要は上書き)されます

# curl config end

「-q」コマンドで、.curlrcの読み込みを抑制することができます。
また、「-K」オプションで別の設定ファイルを読み込むことができますので、この2つのオプションはセットで利用することが多いでしょう。
「-K」オプションを使って読み込む設定ファイルの書式も、.curlrcの書式と同じです。

今回の例にある.curlrcの設定を確認するには、googleのトップページが一番適しています。
curl http://google.co.jp/index.html
curl -q http://google.co.jp/index.html

.curlrcが正しく設定されていれば、コマンドを実行したディレクトリにindex.htmlが作られます。
逆に「-q」オプションを利用した場合は、301リダイレクトが行われていない、生のindex.htmlが標準出力に表示されます。

3回に渡ってcurlの基本的な使い方についてまとめてみましたが、少しでも分かってもらえたでしょうか?
curlのmanページには、その他の多くのオプションの情報が載っていますので、時間がある時に流し読みしてみると、紹介しなかったけど役に立つ使い方が見つかるかも知れません。

cURL - How To Use (マニュアルページ日本語訳)

それでは、だいたい紹介したので、curl関係はこの辺で終了!
毎日使うものでもないから、しばらくはネタ集めかな・・・。

see also
wget vs curl - コマンドラインダウンロードツール頂上決戦
curl の基本的な使い方 -コマンド編-
curl の基本的な使い方 -コマンド編- その2


コメント

このブログの人気の投稿

[VB.NET]オレオレ証明書でSSL通信するための短絡的な解決法

VB.NETソフトウェアでサーバーと通信することはよくある事だと思いますが、最近はHTTPを使って明けっ広げに刺しに行くよりHTTPSを使って暗号化してこそこそやった方が時代の流れに即した感じですよね(違うか)。 いちいちテスト環境でSSL証明書を用意するのも面倒だということで、セキュリティ的には全くよろしくない方法で迂回できるので紹介します。

[JS]Canvasでよく使う描画テクまとめ

HTMLで画像をいじくりたい時は、canvasを利用して編集するのは一般的ですが、WindowsストアアプリではHTML+CSS+JSでのアプリ開発ができる事もあって、簡単な画像編集であれば、C#やVBを使うより分かりやすいし資料が多く、C++でDirectXをガリガリ書くよりお手軽。入出力もファイルピッカーを使えば簡単に実装できます。今回は、Windowsのコードではなく、Canvasを利用する時のJavaScriptを使いどきに合わせてまとめていきます。