java sdk path_SDK(Java版本)说明

快速入门

重要类介绍:com.alibaba.sec.domain.FastGeoConf 目前有如下字段,分别是:properties:用户自定加载的字段,不填写则加载所有字段,在使用时可选择性加载其中需要的属性,这样能显著降低内存的占用空间。具体字段含义参考下文附件

licenseFilePath:license路径

dataFilePath: data数据路径

以下功能需要1.0.4版本支持licenseBytes license字节数组

dataBytes data字节数组

licenseInput license字节流

dataInput data字节流

filterEmptyValue 用于控制查询结果是否返回内容为空的字段( 默认不启用此功能)

注意

properties与filterEmptyValue()区别,properties设置返回的字段,无论是否为空值,filterEmptyValue启用后字段为空值时,不在结果集中显示该空值字段。

com.alibaba.sec.client.FastIPGeoClient 是用户使用SDK的客户端对象,需要通过构造函数实例化

使用方法:将加载字段、license文件路径、数据文件路径封装成一个 com.alibaba.sec.domain.FastGeoConf

通过静态方法获取单例(能保证在数据文件和license文件路径一样的情况下的实例只会在内存里面生成一份)com.alibaba.sec.client.FastIPGeoClient.getSingleton(com.alibaba.sec.domain.FastGeoConf)

通过 FastIPGeoClient.search(String ip) 方法来检索ip的地址位置等相关信息,返回的数据为json格式,键值对都是 FastGeoConf.properties 里指定的字段(若未指定,则加载所有字段。在明确实际要用到字段的情况下,生产环境建议固定字段,避免因为新数据字段增加导致内存占用增加),值不在时用空字符串 "" 代替。

在使用时需要显式的捕获异常:LicenseException,FastIPGeoException,根据异常的编码做相应处理,具体异常列表参考下文附件。

调用实例:import com.alibaba.sec.client.FastIPGeoClient;

import com.alibaba.sec.domain.FastGeoConf;

import com.alibaba.sec.exception.FastIPGeoException;

import com.alibaba.sec.license.exception.LicenseException;

import java.util.Arrays;

import java.util.HashSet;

public class GeoClientTest {

private static final String DATA_FILE_PATH = "${path}/ipv4.dex";

private static final String LICENSE_FILE_PATH = "${path}/license.lic";

public static void main(String[] args) throws Exception {

FastGeoConf geoConf = new FastGeoConf();

geoConf.setDataFilePath(DATA_FILE_PATH);

geoConf.setLicenseFilePath(LICENSE_FILE_PATH);

//指定sdk返回字段,不指定字段默认返回全部,可节省内存开销

HashSet set = new HashSet<>(Arrays.asList(

"country", "province", "province_code",

"city", "city_code", "county", "county_code",

"isp", "isp_code", "routes",

"longitude", "latitude"

));

geoConf.setProperties(set);

geoConf.filterEmptyValue(); //空值字段,不在结果中返回

//通过构造方法初始化(非单例,旧版SDK中使用)

//FastIPGeoClient fastIpGeoClient = new FastIPGeoClient(geoConf);

//通过静态方法(单例), 推荐使用该方法,sdk需升级到最新版本

FastIPGeoClient fastIpGeoClient = FastIPGeoClient.getSingleton(geoConf);

String result;

try {

result = fastIpGeoClient.search("221.206.131.10");

System.out.println(result);

} catch (LicenseException e) {

e.printStackTrace();

} catch (FastIPGeoException e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值