付费客户自动化更新数据文件说明
为了确保用户下载的数据完整,我们增加了HTTP下载响应头ETag字段来供用户做验证。
ETag字段格式为 算法名称-验证字符串; 以下为python示例代码:
# encoding=utf8

import requests
import hashlib,sys,os,shutil
down_url = "https://user.ipip.net/download.php?type=ipdb&token=TOKEN" # 老版本下载地址
down_url = "https://user.ipip.net/download.php?a=custom&token=TOKEN&lang=CN&name=ipv4_cn.ipdb" #新版本下载地址
response = requests.get(down_url) # 发起http请求
if response.status_code != 200:
    print(response.content.decode('utf-8')) # 错误提示
    sys.exit(0)
etag_value = response.headers.get("ETag") #获取ETag值
if not etag_value:           # ETag不存在就退出
    print("etag not exists")
    sys.exit(0)
with open("c:/tmp/ipip_temp.ipdb", 'wb+') as fd: #写临时文件
    for chunk in response.iter_content(4096):
        fd.write(chunk)
with open("c:/tmp/ipip_temp.ipdb", 'rb') as fd: #读取临时文件
    sha1 = hashlib.sha1()
    while True:
        content = fd.read(4096)
        if not content:
            break
        sha1.update(content)
    content_sha1_value = sha1.hexdigest() #计算临时文件sha1
    etag_sha1_value = etag_value[5:]
    if etag_sha1_value != content_sha1_value: # sha1 不一致退出
        print("etag err")
        sys.exit(0)
shutil.copyfile("c:/tmp/ipip_temp.ipdb", "c:/tmp/ipip.ipdb") # 覆盖正式文件,目标目录必须有可写权限。
print("ok")
                
PHP示例代码: https://github.com/17mon/download
行业报告
云计算服务商2019-1H
云计算服务商2018-2H
云计算服务商2018-1H
云计算服务商2017-2H
云计算服务商2017-1H
产品服务
IP 地理位置定位
IP 应用场景
IPv4 高精度定位
IPv6 地理位置库
IPv4 风险画像
网络安全基础数据
BestTrace
Windows
Mac OS
iOS
Android
Linux
网络工具
Whois 查询
Country ASNs
Internet eXchange
Best NetTools
关于IPIP
公司简介
工作机会
隐私声明
联系我们
实验室
联系我们
电     话:010-85867767
商务QQ:2259897657
技术QQ:290525907
邮     件:sales(at)ipip.net
用户交流群:907401083
数据反馈:correction(at)ipip.net

© 2013 - 2021 北京天特信科技有限公司 所有权利保留

京ICP备15064887号-6 

本站域名解析服务由 DNSPOD 提供
本网站安全防护服务由知道创宇云安全提供
本网站 SSL 证书由 TRUSTASIA 提供