0

我从 Maxmind 购买了 GeoIP ISP 数据库的站点许可证,并决定在我的 Google App Engine 项目中实施它。

我用一个使用相同 API/JAR 的常规 Java 项目测试了我自己的外部 IP,并且能够将其解析为 Comcast。

在 Google App Engine 中实现它一直很痛苦。使用相同的确切调用(我自己的外部 IP),我收到各种 IOExceptions,特别是使用标准 LookupService(从文件读取)时的 EOFExceptions 和使用基于内存的 LookupService 时的 OutOfBoundsArrayExceptions。

一些具体信息: 数据库文件大小不应该成为问题。它大约是~3mb。你可以在这里找到开源的 API:https ://github.com/maxmind/geoip-api-java

我最终会弄清楚这个问题,但它似乎相当低级,因此可能需要一些时间。我想知道其他人是否有任何问题。

更新 - 每当使用 Commons Codec 1.8 DigestUtils.md5Hex 检查时,我刚刚确认了 .dat 文件的 MD5 更改。

它不同于工作文件的 MD5。

4

1 回答 1

0

固定的...

出于某种原因,在我的 WEB-INF 中有 .dat 文件会显着改变它。MD5 校验和不一样。

将它放在我的“webapp”文件夹上方的一个根目录下,其中包含 WEB-INF 以某种方式逃脱了文件的更改并且 MD5 验证...

可能必须为此向谷歌提交一个错误,或者我完全误解了一些东西......

更新:经过进一步的反省,我决定它可能是我的 WEB-INF 正在使用的文本集...... UTF-8。这是我唯一能想到的。

于 2013-07-23T02:33:17.037 回答