我找到了几个node.js模块,用于使用ip地址查找有关客户端位置和网络的信息.
要求:
位置 - 国家,城市,州,纬度,经度等
网络 - 互联网服务提供商,互联网连接类型和互联网速度等
数据准确性 - 最大可能性.
注意:寻找服务器端解决方案.
上述模块使用maxmind数据.我也读过有关maxmind数据准确性的文章.
我很困惑选择上面的node.js模块,我想知道是否有更好的node.js框架可用于查找符合我要求的信息或任何其他可以移植到node.js的语言插件.
任何想法都会很棒.
我们在几个系统中要求根据用户的IP地址检测用户的国家/地区.我们更喜欢使用数据库而不是Web服务(以防止出现停机/网络访问外部托管服务的问题)所以我正在寻找建议,任何人都有各种IP到国家数据库的好或坏故事. ?
我从谷歌找到了什么:
付费
自由
有关免费赠品与付费赠品相比的任何信息都是好的.现在我倾向于Maxmind的付费服务,因为它包括我们可以每周一次通过脚本运行的自动更新.
如何将MaxMinds MMDB GeoIP转换为DAT格式,以便我可以使用modsecurity + Apache.Modsecurity仅支持DAT格式.
我正在尝试在一个spark任务中运行MaxMind的geoIP,但是我从maxmind调用到jackson-databind库得到一个NoSuchMethodException.我已经使用mvn排除删除了所有其他版本的jackson-databind,但是在mvn clean之后错误仍然存在.我错过了什么?
没有依赖冲突:
mvn dependency:tree -Dverbose -Dincludes=com.fasterxml.jackson.core:jackson-databind
...
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ sift-etl ---
[INFO] com.sift.etl:sift-etl:jar:0.1.6
[INFO] \- com.maxmind.geoip2:geoip2:jar:2.6.0:compile
[INFO] \- com.maxmind.db:maxmind-db:jar:1.2.0:compile
[INFO] \- com.fasterxml.jackson.core:jackson-databind:jar:2.7.0:compile
错误:
Exception in thread "main" java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.node.ArrayNode.<init>(Lcom/fasterxml/jackson/databind/node/JsonNodeFactory;Ljava/util/List;)V
at com.maxmind.db.Decoder.decodeArray(Decoder.java:272)
编辑:我有很多org.codehaus.jackson,我还需要排除这些吗?如何解决名称空间的差异?
编辑:这是内置于基于scala的项目,在Apache Spark中运行.使用maven-shade-plugin 2.4将jar编译成带阴影的jar
编辑:这是阴影罐上jar tvf的完整输出:https://drive.google.com/file/d/0B2ZVKNsRXgTbeUdEU2ZhM2J3dmc/view?usp =sharing
这是jackson-databind的grep结果:
0 Mon Jan 25 09:53:54 PST 2016 META-INF/maven/com.fasterxml.jackson.core/jackson-databind/
151 Mon Jan 25 09:53:54 PST 2016 META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.properties
5192 Mon Jan 25 09:53:54 PST 2016 META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.xml
和ArrayNode:
/usr/lib/jvm/sift-jdk1.8.0_66/bin/jar -tvf target/sift-etl-0.1.6-shaded.jar | grep ArrayNode
15060 Sat …
我找了又找,还是找不到 GeoIP 的 C++ 版本。我知道它有一个 C 版本,但我似乎无法让它与 Micosoft Visual Studio 2012 C++ 一起使用
我努力了:
所以,
对所有问题感到抱歉,但我看了又看,似乎找不到解决方案。
Sitecore 6.6(更新4).
MaxMind可以选择与DMS集成的特定于Sitecore的查找服务.MaxMind还有一些更通用的Web服务.
"通用"Web服务可以与Sitecore/DMS一起使用,还是仅限于使用特定于Sitecore的版本?如果没有限制,我应该使用Sitecore特定版本的原因,因为它更昂贵.
谢谢!
地理位置数据库(例如http://www.maxmind.com/)从哪些来源获取其数据?据我了解,IP注册处(如ARIN和RIPE)仅保存有关分配了IP范围的公司的信息,因此必须来自ISP的权利吗?如果是这样,则必须有某种方式来访问它。
我想知道是否有办法找到历史地理位置的IP信息?我能找到的所有内容都讨论了当前的数据,但我一直无法找到任何方法来查询服务或数据库,例如,从几年前查找有关IP的信息.
我发现这篇题为"如何执行历史IP地理定位查找"的文章,它确实提到maxmind是一个潜在的工具,availability of historical versions但它没有提到如何访问这些数据.
通过maxmind api文档查看我似乎无法找到按日期查询的任何方法.
如何才能在过去的某个时间找到知识产权的位置?(没有必要提供极高的准确性,例如2012年查找此IP地址的国家/地区)
已经有另一个关于这个的主题没有真正回答:
在 Maxmind 工作的 Greg Oschwald 表示,“遗留 GeoIP 构建 (.dat) 不会在不久的将来消失”。是的,但未来就是现在,它们将于 2018 年 4 月 1 日消失,也就是一个月后;) 我真的很喜欢我目前使用 mod_geoip2 和 GeoIP .dat-Databases 的 Apache 配置 (Debian)。奇迹般有效。所以现在改变一切有点烦人。特别是因为没有像 mod-geoip2 这样的原生 Apache-Module 可以使用,但我必须从源代码构建一个模块,安装库并弄乱我的整个 apache-config 以启用 apxs。而且我没有通过存储库自动更新新模块,但必须在新库和新 tarball 可用时手动更新它。这不是很方便。
好吧,我可以下载 CSV 版本,使用 Maxminds 提供的 CSV 转换器(https://github.com/maxmind/geoip2-csv-converter/releases)添加 IP 范围编写一个脚本来转换一堆 csv-将文件转换为单个“Legacy-Like”csv 文件并使用 Debian 程序(https://github.com/dankamongmen/sprezzos-world/blob/master/packaging/geoip/debian/src/geoip-csv- to-dat.cpp ) 到 .dat 文件。>也许<这可以工作一段时间。但它非常丑陋。没有更好的解决办法吗?
如果不是:Debian 存储库中是否会有一个本地 Apache 模块删除“自己构建/安装”部分?那么我对新格式没有任何问题。
每日问候
我有一个文件GeoLite2-City.mmdb,它是MaxMind数据库文件。
我想看看它的内容。
有显示该.mmdb文件的应用程序和工具吗?
maxmind ×10
geoip ×5
country ×2
geolocation ×2
ip ×2
apache ×1
apache-spark ×1
c++ ×1
database ×1
debian ×1
geolite2 ×1
jackson ×1
maven ×1
node-modules ×1
node.js ×1
scala ×1
sitecore ×1
sitecore-dms ×1
sitecore6 ×1
viewer ×1