全部产品

Windows环境Python版本

更新时间:2020-10-10 14:22:50

SDK说明

基于安全和性能方面的综合考虑,IP 地址库的核心逻辑采用了 C++版 SDK 生成的动态链接库,再用 Python 对接口进行封装。

  • 因为需要配置动态链接库,所以对使用 SDK 的操作系统环境会有一定的要求。

  • SDK 中已包含了部分操作系统环境下编译成功后的动态链接库。

环境准备

以下代码在Windows 10 、Visual Studio 2019、python3.5 编译测试通过

目前支持Windows x86_64 (64-bit)平台

支持的 python 版本(查看版本 python -V )

python2.7.*

python3.4.*

python3.5.*

python3.6.*

python3.7.*

python3.8.*

为了方便演示SDK的使用,Windows版本提供了编译后的 C++ 动态链接库 botan.dll、botan.lib,默认情况下可以直接进行测试

注意

如果编译了Botan2其它版本,需要替换Python安装目录文件。

替换 C:\Python35\Lib\site-packages\alibaba_geoip_python_sdk-1.1-py3.5.egg\geoipclient\lib\win 目录中的botan.dll和botan.lib

lib

下载SDK

如已购买IP地理位置库(离线版)商品,可进入实例详情,下载以下三个文件

  1. 离线数据库(通常是**.dex)

  2. 授权证书文件(通常是 **.lic)

  3. Python语言SDK(通常是 alibaba-geoip-python-sdk-{version}.tgz)

  4. {version} 代表SDK版本例如:alibaba-geoip-python-sdk-1.0.tgz

注意

续费、升级商品套餐一定要同步更新license证书文件,如果license证书过期,则SDK会直接不可用。

安装SDK

将下载的alibaba-geoip-python-sdk-{version}.tgz 放到指定的目录,然后运行以下命令进行安装

解压文件 alibaba-geoip-python-sdk-{version}.tgz
进入目录 alibaba-geoip-python-sdk-{version}
执行命令 python setup.py install
注意

因为安装后 SDK 等于集成到了python Lib 标准库,所以 alibaba-geoip-python-sdk-{version} 文件夹可以删掉。

快速入门

下面以查询某个IPV4地址为例演示如何使用:

目录结构如下

example.py

from geoipclient import GeoIpClient
import os

current_file_dir = os.path.abspath(os.path.dirname(__file__))
# license file path
LICENSE_FILE_PATH = os.path.join(current_file_dir, 'data', 'license-ipv4.lic')
# ipdata file path
IPDATA_FILE_PATH = os.path.join(current_file_dir, 'data', 'license-ipv4.dex')

client = GeoIpClient(LICENSE_FILE_PATH, IPDATA_FILE_PATH)
print('init finish')
print(client.search('47.116.2.4'))
client.close()

返回值

字段说明

字段

含义

country

国家

country_code

国家代码

country_en

国家英文

province

省/州

province_code

省/州数字代码

province_en

省/州英文

county

区/县

county_code

区/县数字代码

city

城市

city_code

城市数字代码

city_en

城市英文

isp

运营商

isp_code

运营商代码

routes

运营商线路

longitude

经度

latitude

纬度

异常处理

出现异常会通过geoipclient.GeoIpException抛出

一般是文件路径异常,离线数据错误异常

ip查找失败,会返回空字符串