Ptron: iTunes の通信ログを記録する

2010-07-13 19:18:51 | Proxomitron
iTunes はサーバとの通信に HTTP を用いている。itms:// というスキームの iTunes Store プロトコルが使われることもあるが、この実体は http:// へのリダイレクトである。HTTP プロキシはログオンユーザのインターネットオプションを参照するため、Internet Explorer と同様に Proxomitron で通信をトラップすることが可能だ。iTunes がどのようなリクエストを出しているかを調べるには以下のようなフィルタを書けばよい。
[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: iTunes Access Log (out)"
Match = "$OHDR(User-Agent:iTunes)"
Replace = "$ADDLST(log/iTunes, $DTM(d) $DTM(T) ¥u)"

リクエストヘッダの User-Agent に "iTunes" という文字列が含まれる通信を処理対象とする。ログファイルにはリクエストされた URL の他にアクセス日時が記録される。
2010-7-4 09:12:08 http://ax.itunes.apple.com/jp/album/tamashii-revolution-single/id377825255
2010-7-4 09:12:11 http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/customerReviews?displayable-kind=2&id=377825255
2010-7-4 09:12:11 http://my.itunes.apple.com/WebObjects/MZStoreElements.woa/wa/cmaDetailsFragment?id=377825255
2010-7-12 20:58:59 http://ax.itunes.apple.com/jp/album/live-from-tokyo-ep/id258753142
2010-7-12 20:59:02 http://a1.phobos.apple.com/us/r30/Features/af/01/77/dj.byytoisi.jpg
2010-7-12 20:59:02 http://a1.phobos.apple.com/us/r30/Features/80/68/6f/dj.uxkxdlvc.jpg

ちなみにログファイルのリスト名が "log/iTunes" となっているのは、筆者がソートを考慮して付けたものであり、スラッシュが特別な意味を持つわけではないのでお間違えなきよう。



ところでログを見てお気付きの方もいると思うが $DTM(d) はゼロパディングされない。桁を統一して見やすくするには少し工夫する必要がある。この辺りは次回以降に解説する予定。

最新の画像もっと見る