Jsp调用淘宝IP地址库获取来访IP详细信息
发布日期:2021-08-12 02:36:07 浏览次数:1 分类:技术文章

本文共 2910 字,大约阅读时间需要 9 分钟。

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

  示例网页点击:(服务器有其他用处,页面已失效)

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("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
"); pw.println("
");
ip:"); pw.println(" "+ipInfo.getString("ip")); pw.println("
国家:"); pw.println(" "+ipInfo.getString("country")); pw.println("
国家id:"); pw.println(" "+ipInfo.getString("country_id")); pw.println("
地区:"); pw.println(" "+ipInfo.getString("area")); pw.println("
地区id:"); pw.println(" "+ipInfo.getString("area_id")); pw.println("
省份:"); pw.println(" "+ipInfo.getString("region")); pw.println("
省份id:"); pw.println(" "+ipInfo.getString("region_id")); pw.println("
城市:"); pw.println(" "+ipInfo.getString("city")); pw.println("
城市id:"); pw.println(" "+ipInfo.getString("city_id")); pw.println("
县区:"); pw.println(" "+ipInfo.getString("county")); pw.println("
县区id:"); pw.println(" "+ipInfo.getString("county_id")); pw.println("
运营商:"); pw.println(" "+ipInfo.getString("isp")); pw.println("
运营商id:"); pw.println(" "+ipInfo.getString("isp_id")); pw.println("
  • 至此就完成了对IP的详细信息的提取

转载于:https://www.cnblogs.com/trembler/p/11066255.html

转载地址:https://blog.csdn.net/weixin_30642561/article/details/97239785 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:关于结构体的疑问
下一篇:Oracle基础知识

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月26日 07时00分43秒