从 IP 地址获取地理代码的 Java 库

2023-11-30

我的应用程序知道用户的 IP 地址。 我们需要识别用户的城市、州、国家以及用户的纬度和经度。

有没有一个java库可以做到这一点?

如果没有,将 IP 地址转换为地理位置的算法或数据源是什么?


http://www.maxmind.com/app/developers提供本地数据库和java类来根据IP地址计算位置信息。我做了一些测试。结果似乎不错。

bbc.co.uk: 212.58.241.131 : 51.283295,-0.23330688;Tadworth,N7,United Kingdom,null
home: 76.126.242.196 : 37.369705,-122.0214;Sunnyvale,CA,United States,94086
google.com: 74.125.224.133 : 37.419205,-122.0574;Mountain View,CA,United States,94043
tcs.in: 202.71.129.225 : 28.666702,77.216705;Delhi,07,India,null
ebay.com: 66.135.205.13 : 37.280304,-121.956696;Campbell,CA,United States,95008
etrade.com: 12.153.224.22 : 34.091797,-84.2209;Alpharetta,GA,United States,30005
whitehouse.gov: 72.247.136.110 : 42.362595,-71.0843;Cambridge,MA,United States,02142

这是我使用的 junit 测试用例的链接,GeoLiteCityTest.java

MaxMind 提供 java 类,但不提供 jar。因此,我创建了一个 Maven 项目,可以构建代码并生成 jar。这是 GitHub 项目https://github.com/snambi/GeoIP

如果你的maven项目需要使用这个库,添加以下依赖

<dependency>
   <groupId>org.geomind</groupId>
   <artifactId>geoip</artifactId>
   <version>1.2.8</version>
</dependency>

在 pom.xml 中的“repositories”下添加以下存储库配置

<repository>
   <id>geoip</id>
   <url>http://snambi.github.com/maven/</url>
</repository>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 IP 地址获取地理代码的 Java 库 的相关文章

  • 获取文件的锁

    我想在对特定文件开始 threo read 时获取文件上的锁定 以便其他应用程序无法读取已锁定的文件并希望在线程终止时释放锁定文件 您可以获得一个FileLock https docs oracle com javase 8 docs ap
  • Oracle Java 教程 - 回答问题时可能出现错误

    我是 Java 新手 正在阅读 Oracle 教程 每个部分之后都有问题和答案 我不明白一个答案中的一句话 见下面的粗体线 来源是https docs oracle com javase tutorial java javaOO QandE
  • 文本在指定长度后分割,但不要使用 grails 打断单词

    我有一个长字符串 需要将其解析为长度不超过 50 个字符的字符串数组 对我来说 棘手的部分是确保正则表达式找到 50 个字符之前的最后一个空格 以便在字符串之间进行彻底的分隔 因为我不希望单词被切断 public List
  • 删除优先级队列的尾部元素

    如何删除优先级队列的尾部元素 我正在尝试使用优先级队列实现波束搜索 一旦优先级队列已满 我想删除最后一个元素 优先级最低的元素 Thanks 没有简单的方法 将元素从原始元素复制到新元素 最后一个除外 PriorityQueue remov
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • 为自定义驱动程序创建 GraphicsDevice

    我正在开发一个在嵌入式系统中使用 Java 的项目 我有用于屏幕和触摸输入的驱动程序 以及用于文本输入的虚拟键盘 我的屏幕驱动程序有一个Graphics2D您可以绘制的对象和repaint Rectangle 更新方法 类似地 触摸驱动器能
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • Java:从集合中获取第一项

    如果我有一个集合 例如Collection
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • Spring Data JPA:查询如何返回非实体对象或对象列表?

    我在我的项目中使用 Spring Data JPA 我正在演奏数百万张唱片 我有一个要求 我必须获取各种表的数据并构建一个对象 然后将其绘制在 UI 上 现在如何实现我的 Spring 数据存储库 我读到它可以通过命名本机查询来实现 如果指
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 使用Java绘制维恩图

    我正在尝试根据给定的布尔方程绘制维恩图 例如 a AND b AND c我想在 Android 手机上执行此操作 因此我需要找到一种使用 Java 来执行此操作的方法 我找到了一个完美的小部件 它可以完成我在这方面寻找的一切布尔代数计算器
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从
  • 如何使用通配符模拟泛型方法的行为

    我正在使用 EasyMock 3 2 我想基于 Spring Security 为我的部分安全系统编写一个测试 我想嘲笑Authentication http docs spring io autorepo docs spring secu
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要

随机推荐

  • 更新 AppWidget 上的 TextView 文本大小

    我无法弄清楚这一点 我已经为此苦苦挣扎了好几天 我已经厌倦了 我正在使用配置活动中的 Spinner 更改 AppWidget 上 TextView 的文本大小 但无法正确更新 我告诉它第一次时它不会更新 但第二次和第三次以及之后的每次都会
  • 如何测试网页是否包含某些文本

    我正在尝试检测网页是否包含某些文本 例如 我想看看是否这个网页包括以下短语 这是我的代码 我无法发现 如果那么 条件得到满足 这就是我正在尝试的 Const READYSTATE COMPLETE 4 Declare Function Se
  • 列表视图在视图翻转器内滑动

    我试图在列表视图上左右滑动并切换视图翻转器 就像 remeberthemilk 应用程序以及 Nexus One 上的默认新闻和天气应用程序一样 滑动浏览新闻主题 使用我找到的各种教程 我在 stackoverflow 上发现了一个展示如何
  • 无法通过c#删除.exe文件

    我在 Windows 窗体应用程序中有一个更新按钮 当用户单击更新按钮时 应用程序会检查应用程序的当前版本与从 Web 服务获取的服务器中的可用版本 如果版本不匹配 应用程序将从Web服务获取的路径下载新版本 我目前在同一解决方案中使用两个
  • 运行jsp文件时出现错误

    我在 eclipse juno 中创建了一个简单的 Hello jsp 程序 当我尝试通过在服务器上运行来运行此 jsp 文件时 出现以下错误 出现问题 在本地主机上发布到 Tomcat v6 0 服务器 遇到了问题 发布失败并出现多个错误
  • 使用 pandas python 的 SuperTrend 代码

    我正在尝试使用 pandas 在 python 中为 SuperTrend 指标编写以下算法 BASIC UPPERBAND HIGH LOW 2 Multiplier ATR BASIC LOWERBAND HIGH LOW 2 Mult
  • 尝试将内联 UIDatePicker 添加到 UITableViewCell

    我正在尝试在 TableView 单元格内创建一个内联 DatePicker 类似于this and this所以线程 我使用下面的方法创建日期选择器 该方法在加载视图时调用 void createDatePicker datePicker
  • 在 sql 查询中使用数组/变量

    我确信有办法做到这一点 但我不知道了 我有一张包含所有数据的大表 In the table I包含以下信息的行 columnA1 groupName columnA2 groupID ColumnB3 name columnB4 group
  • Tomcat 8 中的 SSL:服务器和客户端 JKS + 客户端公共 cer

    我按照本指南使用 SSL 层设置 Tomcat 8 实例 生成客户端和服务器密钥库以及自动签名的公共客户端证书 我想问题是我真的不知道如何配置 Tomcat 的连接器 这是我当前的 server xml 文件 删除了不必要的注释
  • 在 Django 中序列化一棵树

    有没有简单的方法来序列化由模型给出的树 例如下面所示的类别 我想得到一个 json 对象 例如 name cat1 children name cat11 children Thanks class Category MPTTModel n
  • 如何使用 mallet 获得单词主题概率

    我使用 mallet 制作了一个并行主题模型 我想获得每个文档的热门词 为此 我试图获取单词主题概率矩阵 我将如何实现这一目标 当您使用 MALLET 构建主题时 您有一个选项称为 word topic counts file 当您提供此选
  • c++20范围库,如何使条件运算符起作用?

    对标题表示歉意 如果我知道如何更好地表达它 那么谷歌可能已经帮助了我 我想要一个对象 Y 它代表容器 X 的视图 这样当我迭代 Y 时 它要么是 X 的前向迭代 要么是后向迭代 我想在不复制数据的情况下执行此操作 因此新的ranges我想到
  • SimpleFramework XML:具有内部文本和子元素的元素

    我在使用无法更改的特定格式的 SimpleFramework 反序列化 xml 时遇到以下情况
  • 删除文件上传时的文件扩展名

    我现在正在为一个网站编写代码 该网站上传图像 然后以图库样式显示它们 我想要发生的是将图像的文件名作为图像的名称输入到站点的数据库中 然而 仅仅使用 FILES images name 给我文件名 但末尾附有文件扩展名 如何删除文件扩展名以
  • 具有固定名称“System.Data.SqlClient;”的 ADO.NET 提供程序找不到(实体框架 MVC)

    我似乎无法解决 Entity Framework 6 的常见问题 我已经在 SO 上查看了与此问题相关的许多主题 并且无法找到适合我的特定情况的解决方案 到目前为止 我一直在使用 localdb 和代码优先迁移进行开发 效果很好 但现在我将
  • for循环的缺点[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 for循环的实际缺点是什么 不 我是认真的 一定有什么是对的 有 while 和 do while 循环 两者都有效 但我们有一个 for 循环 for循环肯定有一些缺点 因为开发了whi
  • 用户输入未显示在下一页上

    我正在编写一个程序 最终会要求用户输入文件名并绘制数据文件的图表 但是 我很难将用户输入的文件名传输到下一页 我已经实现了此页面上显示的两个答案 如何在 tkinter 中访问不同类的变量 但不幸的是无法让它发挥作用 我想也许 PageOn
  • C# 正则表达式“详细”,就像 Python 中一样

    在Python中 我们有re VERBOSE允许我们很好地格式化的参数regex表达式并包含注释 例如 import re ric index re compile r P
  • Lua - 访问文件和控制应用程序?

    人们如何使用 Lua 脚本语言来做这样的事情 打开IE等应用程序并控制它 访问C盘和 lua文件所在的当前目录 对文件进行修改 移动 创建和删除 任何指向此参考的链接将不胜感激 我在任何地方都找不到任何明确的文档 一般来说 Lua没有内置这
  • 从 IP 地址获取地理代码的 Java 库

    我的应用程序知道用户的 IP 地址 我们需要识别用户的城市 州 国家以及用户的纬度和经度 有没有一个java库可以做到这一点 如果没有 将 IP 地址转换为地理位置的算法或数据源是什么 http www maxmind com app de