目前该产品在做内部调整,不支持新购、续费、升级等操作,订单有效期内可继续正常使用,本文档仅供订单期内用户参考。请留意服务到期时间,做好备选方案,感谢您的支持理解。
环境准备
以下代码在Windows 10 、 Visual Studio 2019、python3.5 编译测试通过:
目前支持Windows x86_64 (64-bit)平台
Botan2安装
通过源码安装Botan2(推荐):
下载 https://github.com/randombit/botan/archive/2.13.0.tar.gz
解压缩文件 2.13.0.tar.gz
通过命令行进入解压后的文件夹botan-2.13.0
执行命令:python configure.py --cc=msvc --cpu=x86_64
注意
编译Botan2需要依赖python请自行安装并设置环境变量
编译成功后的文件如图所示:
可在window命令行工具执行 botan-test.exe 观察测试结果。
下载SDK
如已购买IP地理位置库(离线版)商品,可进入实例详情,下载以下三个文件
-
离线数据库(通常是**.dex)
-
授权证书文件(通常是**.lic)
-
SDK(C++语言)
-
头文件
geoipclient.hpp
-
动态链接库文件
geoipclient.dll
-
外部链接库文件
geoipclient.lib
注意
续费、升级商品套餐一定要同步更新license证书文件,如果license证书过期,则SDK会直接不可用。
安装SDK
-
安装 Visual Studio 2019 创建演示项目 HelloWorld
2.通过Visual Studio 2019加载引入botan.lib、geoipclient.lib(此步骤重要)
注意
需要自行将botan.lib、geoipclient.lib复制到下面的参考路径
参考路径:C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\lib\x64
快速入门
重要类介绍
:
-
-
license_path
:license路径
-
ipdata_path
:data数据路径
-
使用方法
:
-
将加载字段、license文件路径、数据文件路径封装成一个
geoipclient
-
实例化
GeoIPClient
-
通过
client.search(String ip)
方法来检索ip的地址位置等相关信息,返回的数据为json格式,值不在时用空字符串 "" 代替。
演示代码
-
geoipclient主要封装了c++类
GeoIPClient
,暴漏
search
方法,该方法返回对应ip地址的信息,以
json
的格式返回。
-
异常说明:
1.如果license文件和ip地址数据文件有问题,会抛出异常
2.如果查询频率超过限速,会直接返回空字符串
-
修改HelloWorld.cpp代码为以下演示代码作为查询ipv4示例:
#include <iostream>
#include "geoipclient.hpp"
using namespace alibaba::dns;
int main() {
try {
//第一个参数是授权文件的路径,第二个参数是离线数据库文件路径
GeoIPClient client("D:\\ben\\client.lic", "D:\\ben\\ipv4.dex");
std::cout << client.search("47.116.2.4") << std::endl;;
catch (std::exception& e) {
std::cout << "get error:" << e.what() << std::endl;
return 0;
}
1.设置Release为x64
2.配置好代码中的client.lic、ipv4.dex 文件
3.按F5键进行调试
4.打开 source\repos\HelloWorld\x64\Release 可以看到 HelloWorld.exe 文件生成
5.复制botan.dll、geoipclient.dll 到HelloWorld.exe文件的同一路径如下图所示
6.在此目录新建命令窗口执行HelloWorld.exe会有如下输出内容,如果命令行有乱码可以执行以下命令尝试解决chcp 65001或Active code page: 65001
附件
properties
字段含义:
字段
|
含义
|
示例值
|
country
|
国家(或地区)中文
|
中国
|
country_code
|
国家(或地区)两位字母
|
CN
|
country_en
|
国家(或地区)英文
|
China
|
province
|
省(二级)中文
|
黑龙江省
|
province_code
|
省(二级)数字代码
|
230000
|
province_en
|
省(二级)英文/拼音
|
Heilongjiang
|
city
|
市(三级)中文
|
牡丹江市
|
city_code
|
市(三级)数字代码
|
231000
|
city_en
|
市(三级)英文/拼音
|
Mudanjiang
|
county
|
区(四级)中文
|
阳明区
|
county_code
|
区(四级)数字代码
|
231003
|
isp
|
运营商
|
中国联通
|
isp_code
|
运营商数字代码
|
100026
|
routes
|
运营商线路
|
中国联通
|
longitude
|
经度
|
129.634645
|
latitude
|
纬度
|
44.596328
|