CustomFeed::iTMS は内部で LWP::UserAgent::iTMS_Client を利用しているのですが、コンストラクタで国名を指定してもちゃんとハンドリングしてくれないので、パッチ書いた。ついでにモジュール作者にパッチ送っておいた。
--- iTMS_Client.pm.org 2006-05-22 16:06:46.000000000 +0900 +++ iTMS_Client.pm 2006-05-22 16:11:27.000000000 +0900 @@ -466,7 +466,7 @@ 'X-Apple-Tz' => msec_since_epoch(), 'X-Apple-Validation' => $self->compute_validator( $url, $agent_name ), 'Accept-Encoding' => "gzip, x-aes-cbc", - 'X-Apple-Store-Front' => $self->store_front, + 'X-Apple-Store-Front' => $self->store_front($self->{protocol}->{country}), ); $hdr->header( 'X-Token' => $self->{protocol}->{password_token} ) if $self->{protocol}->{password_token};
CustomFeed::iTMS も修正して、国を指定できるようにし、pod も追加しました。これで日本の iTMS からも検索できます。query も UTF-8 であれば日本語も大丈夫。