(Java版)根据ip获取地理位置以及相关信息

这篇具有很好参考价值的文章主要介绍了(Java版)根据ip获取地理位置以及相关信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.申请百度地图的ak

1.首先我们需要进入地图开放平台的官网,根据提示注册账号,以百度地图为例:

https://lbsyun.baidu.com/

我们新用户登录之后会弹出这个页面,选择个人爱好者进入完成注册

java获取当前地理位置,java

成功之后我们会进入到下面这个页面,如果没有申请ak的小伙伴在控制台看板这一块是有一个流程指引的提示,咱们按照流程指引提示进行就ok了,申请过程中会有一个50字左右的理由需要填写,就写个人兴趣爱好开发等等之类的,很容易通过哦

java获取当前地理位置,java

2.申请ak,我这里是已经申请好的一个,没有申请的小伙伴点击创建应用,进去之后根据自己的需求选择客户端,我这里选择的是服务端

java获取当前地理位置,java

 刚上手学习的小伙伴此处可以放行所有ip白名单,或者你获取一下自己的上网ip配置在这里面java获取当前地理位置,java

 3.创建好ak之后如何进行ip定位,可以参考普通ip定位文档,一般来说获取网络ip需要你们将程序部署到服务器上面去,我们这里直接本地测试,测试ip:27.17.99.0

https://api.map.baidu.com/location/ip?ak=您的AK&ip=您的IP&coor=bd09ll //GET请求

二.Java部分

这是一个GET请求,我们第一步需要创建这个链接

 //region 创建链接

    /**
     * 读取
     *
     * @param rd
     * @return
     * @throws IOException
     */
    private static String readAll(Reader rd) throws IOException {
        StringBuilder sb = new StringBuilder();
        int cp;
        while ((cp = rd.read()) != -1) {
            sb.append((char) cp);
        }
        return sb.toString();
    }

    /**
     * 创建链接
     *
     * @param url
     * @return
     */
    private static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
        InputStream is = new URL(url).openStream();
        try {
            BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
            String jsonText = readAll(rd);
            JSONObject json = JSONObject.parseObject(jsonText);
            return json;
        } finally {
            is.close();
        }
    }
    //endregion
 //region 获取定位

    /**
     * 获取定位
     *
     * @param ip
     * @return
     */
    public static Object getAddressJson(String ip) {
        String url = "https://api.map.baidu.com/location/ip?ip=" + ip + "&ak=" + baiDuMapAK + "&coor=bd09ll";
        JSONObject jsonObject = null;
        try {
            jsonObject = readJsonFromUrl(url);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return jsonObject.get("content");
    }

    /**
     * 获取地址
     *
     * @param ip
     * @return
     */
    public static String getAdd(String ip){
        //此处localhost是我定义的127.0.0.1
        if (ip.equals(localhost)) {
            return "内网IP";
        }
        String address = JsonHelper.getJsonValue(DataConvert.toString(getAddressJson(ip)), "address");
        return address;
    }
    //endregion

JSON工具方法,熟悉JSON的也可以使用别的

 /**
     * 正常JSON格式
     *
     * @param jsonStr JSON字符串
     * @param key     key
     * @return
     */
    public static String getJsonValue(String jsonStr, String key) {
        JSONObject jsonObject = JSON.parseObject(jsonStr);
        return jsonObject.getString(key);
    }

我们在测试方法里面直接调用getAdd,将测试ip传入你就能获取当当前ip的地址了,当然咱们也可以有apifox直接发送GET请求

java获取当前地理位置,java

 这里面返回的adcode还可以查询天气等信息哦文章来源地址https://www.toymoban.com/news/detail-715386.html

到了这里,关于(Java版)根据ip获取地理位置以及相关信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分享几个IP获取地理位置的API

    一、请求接口(GET): https://ip.taobao.com/outGetIpInfo?ip=IP地址accessKey=alibaba-inc 二、返回数据格式: 三、频次限制: 每个用户的访问频率需小于1qps 四、文档说明: http://ip.taobao.com/instructions.html 五、代码片段: 一 、请求接口(GET): http://freeapi.ipip.net/ip地址字串 二、返回数据

    2024年02月03日
    浏览(35)
  • Nginx通过用户IP获取所在国家及地理位置

    Nginx是一款高性能、轻量级的Web服务器和反向代理服务器。它最初设计目的是为了解决C10k问题,即如何支持10,000个以上的并发连接。Nginx采用了事件驱动的异步非阻塞模型,可以在消耗较少的系统资源下处理更多的并发连接。由于其高性能和可靠性,Nginx逐渐成为了现代Web架构

    2024年02月09日
    浏览(35)
  • 利用Spring Boot实现客户端IP地理位置获取

    在当今互联的世界中,了解客户端的地理位置对于提供个性化服务和增强用户体验至关重要。无论是根据地区偏好定制内容,还是确保符合本地法规,访问客户端IP位置都是一项宝贵的资产。如抖音评论区、用户页都会展示用户的IP属地信息。 在本文中,我们将探讨一个Spri

    2024年02月20日
    浏览(41)
  • 如何获取用户请求的真实ip,并返回访问者的ip地理位置?node,vue

    方式1、前端调用免费公共接口获取 前端获取访问者的真实的外网ip,可以通过调用接口https://api.ipify.org/来获取。你也可以直接在网页上访问它来看自己的外网ip。 ipify介绍: ipify是一个免费的公共 API,用于获取设备的公共 IP 地址。它通过查询服务器获取用户的 IP 地址,并将

    2024年03月15日
    浏览(35)
  • R语言【paleobioDB】——pbdb_collections_geo():从PBDB获取根据地理位置信息筛选的采集号的基本信息

    Package  paleobioDB  version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。 参数【...】 :可通过 API 调用的参数。所有可用参数详见 PBDB Data Service: Single fossil collection。 根据参数发

    2024年01月22日
    浏览(28)
  • 用户Ip地址和百度地图api接口获取用户地理位置(经纬度坐标,城市)

    ?php //获取用户ip(外网ip 服务器上可以获取用户外网Ip 本机ip地址只能获取127.0.0.1) function   getip(){      if (! empty ( $_SERVER [ \\\"HTTP_CLIENT_IP\\\" ])){      $cip   =  $_SERVER [ \\\"HTTP_CLIENT_IP\\\" ];      }      else   if (! empty ( $_SERVER [ \\\"HTTP_X_FORWARDED_FOR\\\" ])){      $cip   =  $_SERVER [ \\\"HTTP_X_FOR

    2024年02月11日
    浏览(54)
  • Unity 获取手机地理位置信息

    在游戏的开发过程中,有时候会遇到需要获取玩家位置信息的需求,比如显示玩家所在的国家城市等。 有一下方法可以参考: 可以根据手机的地区和语言来做判断。 根据IP来判断所处的位置,阿里云啥的都有对应的接口服务。 根据GPS来判断。 以上方法都各有利弊吧,这里简

    2024年02月12日
    浏览(36)
  • Unity之获取用户地理位置

    1.1 利用bilibili的api 【未知稳定性】 lua代码  1.2 利用baidu api 【配额超限,需要扩充配额,需要联系官方】 2.1 API: \\\"https://api.ipify.org\\\" 和 心知天气官网“心知天气 - 高精度气象数据 - 天气数据API接口 - 行业气象解决方案” 获取公网IP 根据IP获取地理信息和天气信息,json反解析

    2024年02月14日
    浏览(32)
  • 使用uniapp开发获取地理位置

    老板要求做一个微信小程序,后面又希望能转为app. 所以选择了uniapp开发. 我的体验和感想就是以后不用uniapp了. 资源不多,学习了可能用处也不大.适合外包的干.这里写一下使用uniapp开发微信小程序获取地理位置 基本逻辑是使用uniapp的api首先获得地理经纬度位置等信息(在这之前

    2024年02月07日
    浏览(37)
  • ip地址和地理位置有关系吗

    在互联网时代,网络已经成为了人们生活中不可或缺的一部分。而在网络通信中,IP地址扮演着非常重要的角色。那么,IP地址和地理位置之间是否有关系呢?虎观代理小二二将从以下几个方面进行探讨。 一、IP地址和地理位置的基本概念 首先,让我们了解一下IP地址和地理位

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包