1、ak

2、代码

import com.alibaba.fastjson.JSON;
import com.common.util.http.HttpClientUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.util.HashMap;
import java.util.Map;public class BaiDuService{private static final Logger log = LoggerFactory.getLogger(BaiDuService.class);private static final String URL = "http://api.map.baidu.com/location/ip?ak=yourAk&ip=IPaddress";private static Map<String, String> map = new HashMap<>();static {map.put("127.0.0.1", "本机");map.put("localhost", "本机");}public AreaInfo getArea(String ip) {if (StringUtils.isNotBlank(map.get(ip))) {return new AreaInfo(map.get(ip), map.get(ip));}IpAreaRes res = getAreaFromBaiDu(ip);if (null == res) {return new AreaInfo();}String province = res.getContent().getAddress_detail().getProvince();String city = res.getContent().getAddress_detail().getCity();return new AreaInfo(province, city);}private IpAreaRes getAreaFromBaiDu(String ip) {String url = StringUtils.replace(URL, "IPaddress", ip);String response = null;log.info("请求百度获取ip地址所属地区,url:{}", url);try {response = HttpClientUtils.doGet(url, null);} catch (Exception e) {log.error("请求百度获取ip地址所属地区异常:" + e.getMessage(), e);}if (StringUtils.isBlank(response)) {log.error("请求百度获取ip地址所属地区异常,返回为空");return null;}IpAreaRes res = JSON.parseObject(response, IpAreaRes.class);if (0 != res.getStatus()) {log.error("请求百度根据ip获取地区信息失败,状态码:{}", res.getStatus());return null;}return res;}public static void main(String[] args) {BaiDuServiceImpl baiduService = new BaiDuServiceImpl();String ip = "61.50.127.14";AreaInfo res = baiduService.getArea(ip);System.out.println(JSON.toJSONString(res));}}

vo

AreaInfo.java

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "地区")
public class AreaInfo {@ApiModelProperty("省份")private String province = "";@ApiModelProperty("城市")private String city = "";}

IpAreaRes .java

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;@Data
@ApiModel(description = "ip与地区映射")
public class IpAreaRes {@ApiModelProperty("详细地址信息")private String address;@ApiModelProperty("结构信息")private Content content;@ApiModelProperty("结果状态返回码")private int status;@Datapublic static class Content {@ApiModelProperty("详细地址信息")private AddressDetail address_detail;@ApiModelProperty("简要地址信息")private String address;@ApiModelProperty("经纬度")private Point point;}@Data@ApiModel(description = "详细地址信息")public static class AddressDetail {@ApiModelProperty("省份")private String province;@ApiModelProperty("城市")private String city;private String district;private String street;private String street_number;@ApiModelProperty("百度城市代码")private int city_code;}@Data@ApiModel(description = "经纬度")public static class Point {@ApiModelProperty("当前城市中心点经度")private String x;@ApiModelProperty("当前城市中心点维度")private String y;}}

百度API根据ip获取对应地区相关推荐

  1. C#使用百度API通过IP获取地理位置和坐标

    百度接口相关说明:http://developer.baidu.com/map/ip-location-api.htm 返回是json格式,首先构建相关反系列化类: 1 #region Address ...

  2. html百度天气api,百度API 免费接口获取天气预报

    百度API 免费接口获取天气预报 发布时间:2020-08-06 05:38:12 来源:51CTO 阅读:4726 作者:大大果 Document #result{width: 800px;bord ...

  3. Python:批量增强图片清晰度 ——基于百度API,含获取的AK、 SK的流程,access_token的获取流程,以及生成.exe文件

    Python:批量增强图片清晰度 --基于百度API,含获取的AK. SK的流程,access_token的获取流程,以及生成.exe文件 最近需要提高一些图片的清晰度,但一张张的去弄太费时间了,所以 ...

  4. 百度接口通过ip获取用户所在地

    以下是我看到的资料,我在引擎中用插件连接了"http://opendata.baidu.com/api.php?query=" + strIP+"&co=& ...

  5. 百度api:根据经纬度获取地理位置信息

    调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...

  6. android的百度地图sdk获取ip,基于百度地图API的ip地址查询

    说明:使用ip地址查询太麻烦,偶然搜索发现有人已经写过基于百度API的ip地址查询,这个是前人的结晶,我只是修改了一些,勿喷. 用的python2.7,编码问题真是坑. 百度mapAPI私钥申请:ht ...

  7. C#调用百度api,根据经度和纬度获取地理位置信息

            /// <summary>         /// 百度api 根据经纬度获取地理位置         /// </summary>         /// & ...

  8. 百度android api坐标转地址,百度API从经纬度坐标到地址的转换服务

    /// /// 百度API从经纬度坐标到地址的转换服务 /// /// /// /// public string GetAddress(string lng, string lat) { strin ...

  9. 全球地区资料json 含中英文 经纬度_爬虫实战(三)使用百度API获取经纬度/地址...

    点击上方"蓝字"关注我们百度API获取经纬度/地址Mar 28, 2020 本期介绍给定地址/经纬度,使用百度API来获取经纬度/地址. 本文约3k字,预计阅读18分钟. 本次是第 ...

最新文章

  1. 研究生的研究人员发展课程
  2. java 获取私有方法_如何获取java类里的私有方法
  3. CSS的特性之层叠性介绍
  4. 使用ST03N查看指定user的transaction 性能数据
  5. pycharm里面下载pip(不用去官网)
  6. Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试
  7. docker jfrog-oss
  8. 关于“携号转网” 还有许多你不知道的事
  9. 大数据之-Hadoop3.x_MapReduce_Combiner案例---大数据之hadoop3.x工作笔记0119
  10. PCB BOM也能如此好看?图形化交互式BOM工具Interactive Html Bom使用分享
  11. Python的permutations和combinations的区别
  12. Windows的同步I/O和异步I/O
  13. node实现敏感词过滤及敏感词库
  14. Linux系统如何安装PDF编辑器,在Ubuntu中编辑PDF文件的5种方法
  15. java使用imagej_【原创】imagej使用达人指南,分享给大家!
  16. 电脑能复制不能粘贴的问题
  17. 仓库系统用什么服务器,什么是仓库管理saas系统 仓库管理saas系统的功能有哪些...
  18. hawk大数据基础知识总结(1)
  19. 虚函数 2 之虚函数的定义
  20. 以域变量rear和length分别指示循环队列中队尾元素的位置和内含元素的个数。给出队满条件和相应的如对和出队算法。

热门文章

  1. linux系统环境变量及用户环境变量的配置
  2. html背景图片在底部,CSS兑现固定DIV层背景图片且底部显示
  3. 储岳中c语言报告,储岳中 - 安徽工业大学 - 计算机科学与技术学院
  4. HashMap 1.7和1.8的区别 --答到面试官怀疑人生
  5. sublime修改默认浏览器及使用不同浏览器打开网页的快捷键设置
  6. transformers-tokenizer备忘
  7. PostgreSQL基础语法
  8. 普元EOS RichWeb(富客户端)实践总结
  9. 【已解决】win10 系统 thinkpad X1 carbon windows hello人脸识别不可用
  10. mybatis的反向工程