全部产品

Linux环境Python版本

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

SDK说明

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

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

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

环境准备

  • 目前支持Linux x86_64 (64-bit)平台(Redhat/CentOS/Ubuntu)

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

python2.7.*

python3.4.*

python3.5.*

python3.6.*

python3.7.*

python3.8.*

  • Botan2安装

注意

版本要求:2.13.0或以上版本。

通过包管理工具安装:

  • centos:yum install -y botan2

  • ubuntu:apt-get install -y libbotan-2

通过源码安装(推荐):

wget https://github.com/randombit/botan/archive/2.13.0.tgz
tar -xvzf 2.13.0.tgz 
./configure.py
make
make instal

下载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 放到指定的目录,然后运行以下命令进行安装

tar -zxvf alibaba-geoip-python-sdk-{version}.tgz
cd 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查找失败,会返回空字符串