携帯電話からのWebアクセスゲートウェイのIPアドレスから、

携帯キャリアを判別したい場合がある。

通常は、id:tokuhiromによる

Net::CIDR::MobileJP(WWW::MobileCarrierJP)を使うといいと思う。

YAMLが出力されるので、さまざまな環境で利用ができるよ！

今回、PHPで携帯キャリアを判別したいと思ったんだけど、

PHPでYAMLを読んでその中身をすべて検査するなんてやだいやだい！

と沸き立つような強い衝動が。

というわけで、cidr-mobilejpというPythonスクリプトを書いた。

各携帯キャリアのページからCIDR情報をスクレイピングして、

その情報を元に携帯キャリアを(たぶん高速に)判別するPHPスクリプトを出力します。

DoCoMoについてはメールゲートウェイなどの余計なIPアドレスが入っちゃってますが、

実害ないでしょう。

id:tomisimaが書いていたスクリプトを基に、

AirHPhone対応を施したりいろんな改造をしました。

パフォーマンスは計って遅かったら泣くから計らない。

ip2longが遅い可能性が大いにあるんだよなー…