Jsp调用淘宝IP地址库获取来访IP详细信息

  示例网页点击:www.trembler.cn/ipinfo/ipinfo(服务器有其他用处,页面已失效)

		String ip = request.getRemoteAddr();//获取来访者IP
String path = "http://ip.taobao.com/service/getIpInfo.php?ip="+ip;//调用淘宝API
URLConnection url = new URL(path).openConnection();
url.connect();//发送GET方法
StringBuilder stringBuilder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(url.getInputStream(), StandardCharsets.UTF_8));//获取得到的信息
String line = null;
while ((line = reader.readLine())!=null){
stringBuilder.append(line);
}
JSONObject jsonInfo = JSON.parseObject(stringBuilder.toString()); System.out.println(stringBuilder.toString());
  • 代码中的JSONObject是使用了阿里的fastjson类,需要导入这个包,点击下载
  • 上述方法已经在控制台输出了获取到的json格式的IP详细信息,接下来使用阿里fastjson类提取出关键信息。
if(jsonInfo.getString("code").equals("0")){//返回code为0时为正常情况
String data = jsonInfo.getString("data");
JSONObject ipInfo = JSON.parseObject(data);
//接下来要从ipInfo的json中提取出详细信息
pw.println("<table align=center>");
pw.println("<tr align=center>");
pw.println("<td align=right/>ip:");
pw.println("<td align=center/>"+ipInfo.getString("ip"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>国家:");
pw.println("<td align=center/>"+ipInfo.getString("country"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>国家id:");
pw.println("<td align=center/>"+ipInfo.getString("country_id"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>地区:");
pw.println("<td align=center/>"+ipInfo.getString("area"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>地区id:");
pw.println("<td align=center/>"+ipInfo.getString("area_id"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>省份:");
pw.println("<td align=center/>"+ipInfo.getString("region"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>省份id:");
pw.println("<td align=center/>"+ipInfo.getString("region_id"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>城市:");
pw.println("<td align=center/>"+ipInfo.getString("city"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>城市id:");
pw.println("<td align=center/>"+ipInfo.getString("city_id"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>县区:");
pw.println("<td align=center/>"+ipInfo.getString("county"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>县区id:");
pw.println("<td align=center/>"+ipInfo.getString("county_id"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>运营商:");
pw.println("<td align=center/>"+ipInfo.getString("isp"));
pw.println("<tr/>");
pw.println("<tr align=center>");
pw.println("<td align=right/>运营商id:");
pw.println("<td align=center/>"+ipInfo.getString("isp_id"));
pw.println("<tr/>");
  • 至此就完成了对IP的详细信息的提取

Jsp调用淘宝IP地址库获取来访IP详细信息的更多相关文章

  1. Python之通过IP地址库获取IP地理信息

    利用第三方的IP地址库,各个公司可以根据自己的业务情况打造自己的IP地址采集分析系统.例如游戏公司可以采集玩家地区信息,进行有针对性的运营策略,还可能帮助分析玩家网络故障分布等等. #!/usr/bi ...

  2. IP地址库解析——读取IP地址获得实际地理位置信息的java源码实现

    说明:IP地址库来自QQwry.dat数据库文件,通过解析地址库当中的ip,已经细化最后获取的信息:获取ip地址对应的:国家 / 省 / 市 / 运营商ISP信息. 解析主要用到三个类: (1) IP ...

  3. 通过淘宝IP地址库获取IP位置

    地址:http://ip.taobao.com/ 提供的服务包括: 1. 根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家.省.市和运营商. 2. 用户可以根据自己 ...

  4. 淘宝IP地址库获取到省市IP地址

    http://ip.aliyun.com/index.html https://ispip.clang.cn/ https://github.com/Pingze-github/local-ips 1 ...

  5. 通过新浪ip地址库获取用户省份

    <script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script> ...

  6. C#获取外网IP地址;C#获取所在IP城市地址

    public static string GetIP()         {             using (var webClient = new WebClient())           ...

  7. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

  8. Delphi使用JSON解析调用淘宝IP地址库REST API 示例

    淘宝IP地址库:http://ip.taobao.com,里面有REST API 说明. Delphi XE 调试通过,关键代码如下: var IdHTTP: TIdHTTP; RequestURL: ...

  9. 淘宝IP地址库API地址

    淘宝IP地址库:http://ip.taobao.com/instructions.php   接口说明 1. 请求接口(GET): http://ip.taobao.com/service/getI ...

随机推荐

  1. [PHP] error_reporting(0)可以屏蔽Fatal error错误

    按照以前的印象,error_reporting(0)屏蔽不了php的Fatal error级别的错误.但是今天我遇到了一个问题才发现,它竟然可以屏蔽任何错误,包括Fatal error,浏览器会看不到 ...

  2. Matplotlib 日期格式转换

    官网链接:https://matplotlib.org/api/dates_api.html#matplotlib.dates.date2num import numpy as np import d ...

  3. 深浅拷贝及 join set

    1.join s="**".join (['风清扬',"独孤求败"] )       join  把里面的东西拿出来,进行拼接 s="_". ...

  4. Vue 动态粒子特效(vue-particles)

    图上那些类似于星座图的点和线 是由vue-particles生成的,不仅自己动,而且能与用户鼠标事件产生互动. 是非常炫的一种动态特效 可以在Vue项目中使用,需要安装第三方依赖 使用步骤 1. 安装 ...

  5. Codeforces Round #604 (Div. 2) 练习A,B题解

    A题 链接 思路分析: 因为只需要做到相邻的不相同,利用三个不同的字母是肯定可以实现的, 所以直接先将所有的问号进行替换,比如比前一个大1,如果与后面的冲突,则再加一 代码(写的很烂): #inclu ...

  6. 深度工作(Charlotte)

    作者:Charlotte文章转自:https://zhuanlan.zhihu.com/p/56719363 为什么要深度工作? 作为一名程序员/媛,工作时长动则十几小时,然而有的人效率奇高,有的人上 ...

  7. 通过Python代码操作MySQL:

    pymsql / MySQLdb pymysql支持 py2/py3 MySQLdb支持py2 ORM框架 django orm ( 自己对数据连接有优化机制 ) SQLAlchemy ( 自带数据库 ...

  8. jQuery中的属性(四)

    1. attr(name|properties|key,value|fn), 设置或返回被选元素的属性值 参数说明: name:属性名称 properties:作为属性的“名/值对”对象 key,va ...

  9. 20191004 「HZOJ NOIP2019 Round #9」20191004模拟

    综述 第一次 rk1 ,激动. 题目是 COCI 18/19 Round #1 的三至五题. 得分 \(100+100+20\) \(\mathrm{cipele}\) 问题描述 HZOJ1313 题 ...

  10. NOIP模拟赛1(one)

    题目描述 Description 很久以前,有一个序列,序列里填了一些非负整数. \(zzq\) 每次可以选择序列的一个前缀,把这个前缀里的数都-1,如果这个前缀 中有 0 操作就无法进行. \(zz ...