标签:定位 java get ip System jsonObject println out
因为自己网站后台做了一个进站ip统计,之前只是获取了ip,这次优化了下,把ip的大致区域弄出来了
废话不多说,进正题
首先要用到几个网络大头的api
淘宝API:http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42
新浪API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.192.3.42
pconline API:http://whois.pconline.com.cn/
百度API:http://api.map.baidu.com/location/ip?ip=218.192.3.42
接下来用json解析返回的数据就好
下面直接上解析源码(不是网站的源码,是之前java测试的源码,原理一样)
package exe; import net.sf.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Scanner; /** * 通过淘宝的API来获取指定IP的定位 */ /** * 各种API接口 * 淘宝API:http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42 * 新浪API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.192.3.42 * pconline API:http://whois.pconline.com.cn/ * 百度API:http://api.map.baidu.com/location/ip?ip=218.192.3.42 */ public class get_analyse_ip { /** * 涉及到解析json */ public static void main(String[] args) { HttpURLConnection connection ; String api = "http://ip.taobao.com/service/getIpInfo.php"; String connect_symbol = "?"; String front_name = "ip="; Scanner sc = new Scanner(System.in); String real_ip = sc.next(); URL url ; BufferedReader bf ; StringBuffer sb = new StringBuffer(); try { url = new URL(api+connect_symbol+front_name+real_ip); connection = (HttpURLConnection)url.openConnection(); bf = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8")); String line = ""; while(null!=(line = bf.readLine())){ sb.append(line); } } catch (IOException e) { e.printStackTrace(); } // System.out.println(sb); JSONObject dataObject = JSONObject.fromObject(sb.toString()); JSONObject jsonObject= dataObject.getJSONObject("data"); System.out.println(jsonObject.toString()); System.out.println("ip:"+jsonObject.get("ip")); System.out.println("country:"+jsonObject.get("country")); System.out.println("area:"+jsonObject.get("area")); System.out.println("region:"+jsonObject.get("region")); System.out.println("county:"+jsonObject.get("county")); System.out.println("isp:"+jsonObject.get("isp"));
System.out.println("city:"+jsonObject.get("city")); System.out.println("country_id:"+jsonObject.get("country_id")); System.out.println("area_id:"+jsonObject.get("area_id")); System.out.println("region_id:"+jsonObject.get("region_id")); System.out.println("city_id:"+jsonObject.get("city_id")); System.out.println("county_id:"+jsonObject.get("county_id")); System.out.println("isp_id:"+jsonObject.get("isp_id")); } }
要导入json第三方jar包,方法自行百度,在此不赘述
希望对大家有所帮助
以上
标签:定位,java,get,ip,System,jsonObject,println,out 来源: https://www.cnblogs.com/lavender-pansy/p/10905201.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。