ip2region java ip地址解析

1. ip2Region:IP地址解析, 参考:https://gitee.com/lionsoul/ip2region

主要针对国内用户,效率高。

2. java 测试:


	org.lionsoul
	ip2region
	1.7
import org.lionsoul.ip2region.*;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.logging.Logger;

public class Ip2Region {

    private static DbConfig config = null;
    private static DbSearcher searcher = null;
    private static Logger logger = Logger.getLogger(Ip2Region.class.getName());

    static {
        String dbfile = "/opt/ip2region.db";
        try {
            config = new DbConfig();
            searcher = new DbSearcher(config, dbfile);
        }catch (DbMakerConfigException e){
            logger.warning("ip2region config init exception:" + e.getMessage());
        }catch (FileNotFoundException e){
            logger.warning("ip2region file not found" + e.getMessage());
        }
    }

    public static DataBlock parseIp(String ip){
        boolean isIpAddress = Util.isIpAddress(ip);
        if(isIpAddress){
            try {
                DataBlock block = searcher.btreeSearch(ip);
                return block;
            }catch (IOException e){
                logger.warning("ip2region parse error" + e.getMessage());
            }
        }
        return null;
    }

    public static void main(String args[]) throws Exception{
        // 格式:国家|大区|省份|城市|运营商
        System.out.println(Ip2Region.parseIp("220.248.14.158").getRegion());
        System.out.println(Ip2Region.parseIp("4.16.159.254").getRegion());
    }
}

3. 封装服务运行效果:http://api.online-service.vip/ip3?ip=220.248.14.158

你可能感兴趣的:(练习)