Java playframework2 を使用していますが、正しい IP アドレスを取得できないようです。リクエストごとに常に変更されます。
つまり、トラフィック分析サイトはヘッダーに JavaScript を実装してトラフィックを分析するので、JavaScript で可能でしょうか?
フレームワークがそのような機能を提供しない場合、クライアントから IP を取得する他の方法はありますか?
訪問者カウンターを作成したいのですが、ユニーク訪問者のみをカウントする必要があります。たぶん、IPアドレスを使用する必要はありませんか?
http://jsonip.appspot.com/があることは知っていますが、信頼できません。Google App Engine の割り当てを超えたため、この 2 日間は使用できませんでした。
ここに私のコードがあります
public static <T> void increaseViews(String title, String ip,
Class<T> objClass) throws UnknownHostException, MongoException,
DbAuthException {
Logger.info("Ip address: " + ip);
String ipCache = title + "-" + ip;
if (Cache.get(ipCache) == null) {
Cache.set(ipCache, "block", 86400);
increment(title, objClass);
}
}
private static <T> void increment(String title, Class<T> objClass)
throws UnknownHostException, MongoException, DbAuthException {
// update database
}
そして私はそれを次のように呼びます:
UserGuides.increaseViews(ug.title, request().remoteAddress(),
UserGuides.class);
Heroku のログをたどると、ページをリロードするたびに IP アドレスが異なります。