IP アドレスから国、都市 (一般的には地理位置情報) を取得する方法はありますか。私のアプリケーションはJavaであることに注意してください。
多くの Web サービスにアクセスして試してみましたが、適切なものが見つからず、自分で作成することを好みました。また、いくつかの CSV DB を見つけましたが、この解決策もまったく好ましくありません。助けてください。
IP アドレスから国、都市 (一般的には地理位置情報) を取得する方法はありますか。私のアプリケーションはJavaであることに注意してください。
多くの Web サービスにアクセスして試してみましたが、適切なものが見つからず、自分で作成することを好みました。また、いくつかの CSV DB を見つけましたが、この解決策もまったく好ましくありません。助けてください。
必要なのは、MaxMind社が提供するGeoIPだけです。
彼らは無料のGeoIP2データベースを提供します-GeoLite2とデータベースファイルを読み取るためのJavaAPIを含むいくつかのGeoIP2API(karelに感謝)。
GeoIP2の前はGeoIPでしたが、現在はGeoIP Lecacyと呼ばれています。無料のデータベースと、maven.orgまたはgithubからダウンロード可能なJavaライブラリを引き続き利用できます。
ただし、GeoIP2はデータベース情報を読み取るためのJava APIを提供していないため( GEO-533LITE 20150303 Build 1 Copyright(c)2015 MaxMind Inc All Rights Reservedなど)、 GeoIP Lecacyは将来的に機能しなくなる可能性があります。そのため、私はまだ私のウェブサイトでそれを使用してください。私はIRCボットでGeoIP2を使用して、GeoIP2の多言語機能を利用しています。
各国にはいくつかの範囲の IP があります。
その Java 実装については知りませんが、http://services.ce3c.be/ciprg/からの出力を使用して、IP アドレスに基づいて国を指定する独自のコードを作成できます。