从 Java 中,如何找出运行它的计算机的物理位置(城市、国家)?

Posted

技术标签:

【中文标题】从 Java 中,如何找出运行它的计算机的物理位置(城市、国家)?【英文标题】:From Java, how to find out the physical location (city, country) of the computer where it's running? 【发布时间】:2012-02-12 13:58:11 【问题描述】:

是否有可能从 Java 中知道它正在运行的计算机在哪里?如果没有,我该如何使用 JNI 来做到这一点?或者有什么脚本? 我正在构建一个 Java 系统,并且在登录时,我应该在数据库上注册谁正在登录,何时何地登录。我只是不知道怎么去那里。

【问题讨论】:

假设您正在使用 servlet,获取 IP 并使用区域查找表。 (不,你不会得到城市的准确性,但这和没有用户实际告诉你的情况一样好。) 【参考方案1】:

除非您可以让客户端发送某种坐标(例如 GPS),否则您可以使用一些基于 IP 的解决方案,例如 MaxMind GeoIP。他们有lite 版本的city 和country 定位数据库,它们是免费的,但不太准确。大多数常用语言都有APIs。

【讨论】:

【参考方案2】:

您可以使用 IP 地址来定位计算机运行所在的国家/地区。有几个可用的 IP 地址数据库 - 只需在搜索机中查找即可。

【讨论】:

以上是关于从 Java 中,如何找出运行它的计算机的物理位置(城市、国家)?的主要内容,如果未能解决你的问题,请参考以下文章

如何让程序打印它的位置? [复制]

查找在gradle中运行编译器的JDK的位置

请高手帮我找出这两组数据的对应关系,谢谢!!

Java多线程

谷歌地图 - 如何找出用户的位置并在 Swift 中显示从该位置到目的地点的路线?

(MP3) 如何在 Java 中计算字节位置