IPアドレスとロケーション情報


IPアドレスを使って、ロケーションを判定してみます。

いくつかあるなかで2つ試してみましょう。

MaxMind  (DataBase)

IPInfoDB  (WebService)


MaxMind

参照:GeoIP2
MaxMindはご自分のサーバーにデータベースを造ってサービスを構築するやり方です。

PEARを使ってやってみます。

サーバーはさくらインターネットの共用レンタル。

必要なのはGeoIPのライブラリのインストールと、データベースのアップロードです。

SSHを使って、PEAR用のGeoIPである、Net_GeoIPをインストールします。

やりかたはここを参照。

SSHでログインしたら、以下のコマンドをたたきます。

pear install Net_GeoIP

以下のコマンドで確認。

pear list

さくらインターネットの場合、/home/<ユーザー名>/pear/PEAR/Netの直下にインストールされています。

データベースをアップロードします。

サーバーのWebルートに適当なフォルダーを造っておきます(dataとか….)。

データベースがあるのはここ

Binary/gzipの中から、GeoLite CountryとGeoLite Cityをダウンロード。

で、FFFTPなんかで、サーバーのフォルダー(data)にアップロードしておきます。

PHPのコードはこんな感じ。

CountryName: Japan

CountryCode: JP

都市Tokyo

緯度35.685

経度139.7514

 

では、あなたのIPアドレスの場合はどうでしょう。

あなたのIP:[myipaddress]

MaxMindで取得したロケーション情報はこんな感じです。

[mygeolocationMaxMind]


IPInfoDB

これはマレーシアのベンダーが提供するWebサービスです。

登録すればAPIキーをもらえて、これを使ってサービスにアクセスします。

ただし、登録するには、ご自分のサーバー(レンタルでOK)とこのドメインを持ったメール・アカウントが必要なようです。

このサーバーのIPとメールのドメインが対応していないとはねられます。

で、これを使ってみます。

書式はこうです。

http://api.ipinfodb.com/v3/ip-city/?key=<APIキー>&ip=<IPAddress>

使ってみると、Webサービスとして提供されているだけにDBが更新されているのか、MaxMindより正確なようです。


CountryCodeを使えばWebページの多言語表示もできる……….と思います。


他にも

IP2Location LITE
Xhanch

などがあります。

IP2LocationLiteはDataBase型です。頻繁にアップデートされていてメールで通知されるのですが、頻繁すぎてメンテが面倒です(^^)。

XhanchはWebサービス型。
興味があれば使ってみてください。


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*