最近领导要求i通过p解析确定城市,比较简单,难点是通过大学名称来确定城市 下面是代码:

代码需要用到 全国高校数据库

package com.dianyou.ip;import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;import java.sql.*;/**
 * Created by Administrator on 2017/12/11.
 */
public class Location {private String country;private String province;private String city;public Location() {}public String getCountry() {return country;}public void setCountry(String country) {this.country = country;}public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}public Location getLocation(String ipLocation) {if (ipLocation != null && !"".equals(ipLocation.trim())) {Location location = new Location();location.setCountry("中国");String province = "unknown";int index = ipLocation.indexOf("省");if (ipLocation.equals("局域网") || ipLocation.contains("CZ88")) {location.setProvince("广东省");location.setCity("深圳市");} else if (index > 0) {province = ipLocation.substring(0, index + 1);location.setProvince(province);int cityIndx = ipLocation.indexOf("市");if (cityIndx > 0) {location.setCity(ipLocation.substring(index + 1, cityIndx + 1));} else {location.setCity("unknown");}} else if (ipLocation.contains("上海") || ipLocation.contains("重庆") || ipLocation.contains("天津") || ipLocation.contains("北京")) {String[] pro = {"上海", "重庆", "天津", "北京"};for (String p : pro) {if (ipLocation.contains(p)) {location.setProvince(p);location.setCity(p);}}} else if (ipLocation.contains("内蒙古") || ipLocation.contains("西藏") || ipLocation.contains("宁夏") || ipLocation.contains("广西") || ipLocation.contains("新疆")) {String[] pro = {"内蒙古", "新疆", "西藏", "宁夏", "广西"};for (int i = 0; i < pro.length; i++) {if (ipLocation.contains(pro[i])) {location.setProvince(pro[i]);if(ipLocation.contains("盟")){int cityIndex = ipLocation.indexOf("盟");location.setCity(ipLocation.substring(0, cityIndex + 1).replace(pro[i], ""));}else{int cityIndex = ipLocation.indexOf("市");if (cityIndex > 0) {location.setCity(ipLocation.substring(0, cityIndex + 1).replace(pro[i], ""));} else {location.setCity("unknown");}}}}} else if (ipLocation.contains("香港") || ipLocation.contains("澳门") || ipLocation.contains("台湾")) {String[] pro = {"香港", "澳门", "台湾"};for (String p : pro) {if (ipLocation.contains(p)) {location.setProvince(p);location.setCity(p);}}} else if (ipLocation.contains("大学")) {int collegeIndex = ipLocation.indexOf("学");String college = ipLocation.substring(0, collegeIndex + 1);location.setProvince(getPlace(college).split("_")[0]);location.setCity(getPlace(college).split("_")[1]);} else {location.setCountry(ipLocation);location.setProvince("unknown");location.setCity("unknown");}return location;} else {return null;}}private static Connection getConn() {String driver = "com.mysql.jdbc.Driver";String url = "jdbc:mysql://xxxxxxx:3306/college_location?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false";String username = "xxxxx";String password = "xxxxxx";Connection conn = null;try {Class.forName(driver); //classLoader,加载对应驱动
            conn = (Connection) DriverManager.getConnection(url, username, password);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return conn;}private String getPlace(String college) {Connection conn = getConn();String sql = "SELECT a.sh_shool,b.ci_city,c.pr_province\n" +"FROM shool_info a,city_info b,province_info c\n" +"WHERE a.sh_city=b.ci_id AND b.ci_province = c.pr_id AND a.sh_shool ="+"'"+college+"'";PreparedStatement pstmt;String province ="unknown";String city = "unknown" ;try {pstmt = (PreparedStatement) conn.prepareStatement(sql);ResultSet rs = pstmt.executeQuery() ;while(rs.next()) {province = rs.getString("pr_province");city =rs.getString("ci_city");}pstmt.close();conn.close();} catch (SQLException e) {e.printStackTrace();}return province+"_"+city;}public static void main(String[] args) {Location p = new Location().getLocation("内蒙古兴安盟乌兰浩特市");System.out.println(p.getCountry()+" : "+p.getProvince() +" : "+p.getCity());}
}

IP解析成地址 确定省市相关推荐

  1. 『cURL』curl: (6) Could not resolve host无法解析主机地址

    最近在学数据挖掘时,获取数据有两种途径: 开放数据集,可以直接使用和存储的数据: 网络数据,通过爬虫或云市场api(付费或免费)获取数据 我通过教程,在阿里云购买一个天气数据api,尝试使用cURL获 ...

  2. 网站重新解析换服务器,更换解析服务器地址

    更换解析服务器地址 内容精选 换一换 普通的域名解析只为用户返回解析记录,不会考虑访问者的来源,这样所有的访问者都被解析到相同的IP地址上,容易出现由跨运营商访问引起网络延迟.运营商线路解析是云解析服 ...

  3. win10如何安装域名系统服务器地址,win10搭建dns解析服务器地址

    win10搭建dns解析服务器地址 内容精选 换一换 公网域名解析是基于Internet网络的域名解析过程,可以把人们常用的域名(如www.example.com)转换成用于计算机连接的IP地址(如1 ...

  4. cmd显示服务器对区域没有权威,查询dns解析服务器地址cmd命令

    查询dns解析服务器地址cmd命令 内容精选 换一换 一次完整的HTTP请求包括域名解析.建立TCP连接.发起请求.服务器接收到请求进行处理并返回处理结果.浏览器对HTML代码进行解析并请求其他资源, ...

  5. linux中etc下的hosts(本地IP解析)文件详解

    linux中etc下的hosts(本地IP解析)文件详解 1./etc/hosts(本地解析) 很多人一提到更改hostname首先就想到修改/etc/hosts文件, 认为hostname的配置文件 ...

  6. 【网络】如何扫描局域网内所有设备的ip和mac地址

    原文:https://www.jianshu.com/p/b2e68a5b88f2 cmd 输入: for /L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.0 ...

  7. java通过IP解析地理位置

    java通过IP解析地理位置 文章目录 java通过IP解析地理位置 一.获取IP地址 二.百度普通IP定位API获取地理位置 在项目开发中,需要在登录日志或者操作日志中记录客户端ip所在的地理位置. ...

  8. 阿里云域名动态IP解析Shell小脚本

    当你手里面有一个闲置的域名,有一个漂浮不定的外网ip,你又想在外网ip变更后自动解析到域名上,此情此景此脚本可能会帮上你. 更新日志 2020-09-29 支持IPV6解析(支持设置解析记录类型:A. ...

  9. 华为交换机ssh思科交换机_思科交换机交换机中ip、mac地址绑定

    在思科交换机中为了防止ip被盗用或员工乱改ip,可以做以下措施,既ip与mac地址的绑定,和ip与交换机端口的绑定. 一.通过IP查端口 先查MAC地址,再根据MAC地址查端口: bangonglou ...

最新文章

  1. JNI命令行下编译错误解决方案
  2. java代码写jsp读取,Java IO学习基础之读写文本文件-JSP教程,Java技巧及代码
  3. 任务05—学习 MARKDOWN 语言
  4. 谷歌宣布确立“量子霸权” IBM质疑:真的吗?
  5. Spring boot国际化
  6. C++primer 第四版6.12:练习题
  7. Bootstrap页面布局10 - BS表格
  8. 安全平台基于ArcGIS构建安全的移动端App
  9. 智能语音识别转文字字幕实时上屏直播系统
  10. 后缀表达式/逆波兰表达式
  11. MultipartFile transferTo() FileNotFound 拒绝访问
  12. Oracle导入sas数据集,来自SAS数据集的Oracle表
  13. 小米笔记本linux无线网失效,小米笔记本无线网络打不开怎么办
  14. Ubuntu18.04启动后键盘和鼠标失灵
  15. 人像图片Relight
  16. 从2012 飞到 2013 —— 梦想依旧
  17. JSON字符串的使用
  18. dataTable 查询,重置
  19. Android9显示模糊,app进入后台显示模糊效果
  20. 图神经网络 | (8)图注意力网络(GAT)

热门文章

  1. SitePoint博客的3大变化
  2. 资讯类App主流框架(一)
  3. 2012春节快到了我们聚会吧!
  4. 淘宝直播商品识别大赛
  5. 微信小程序自适应图片的时候底部总有一条白色的空白区像一条线该怎么办呢?
  6. 狂野飙车8服务器在哪个文件夹,狂野飙车8数据包安装存放位置详解
  7. 2019北京物联网智慧城市大数据博览会开启中国之路
  8. 使用ColorMatrix简单处理色彩平衡
  9. 格力成立子公司造芯片 亲自挂帅的董明珠能成功吗
  10. 数学建模所需计算机知识