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

0 篇文章 0 订阅

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的详细信息的提取
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值