java_獲取指定ip的定位


因為自己網站后台做了一個進站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包,方法自行百度,在此不贅述

 

希望對大家有所幫助

以上





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM