# encoding=utf8 import requests import hashlib,sys,os,shutil,ipdb down_url = "https://user.ipip.net/download.php?a=custom&token=TOKEN&lang=CN&name=ipv4_cn.ipdb.zip" #新版本下載地址 response = requests.get(down_url) # 發(fā)起http請(qǐng)求 if response.status_code != 200: print(response.content.decode('utf-8')) # 錯(cuò)誤提示 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: #寫臨時(shí)文件 for chunk in response.iter_content(4096): fd.write(chunk) with open("c:/tmp/ipip_temp.ipdb", 'rb') as fd: #讀取臨時(shí)文件 sha1 = hashlib.sha1() while True: content = fd.read(4096) if not content: break sha1.update(content) content_sha1_value = sha1.hexdigest() #計(jì)算臨時(shí)文件sha1 etag_sha1_value = etag_value[5:] if etag_sha1_value != content_sha1_value: # sha1 不一致退出 print("etag err") sys.exit(0) ipdb.City("c:/tmp/ipip_temp.ipdb") # ipdb自檢,可能 Error,則不覆蓋 重新下載。 shutil.copyfile("c:/tmp/ipip_temp.ipdb", "c:/tmp/ipip.ipdb") # 覆蓋正式文件,目標(biāo)目錄必須有可寫權(quán)限。 print("ok")
? 2013 - 2025 北京天特信科技有限公司 所有權(quán)利保留
本網(wǎng)站 SSL 證書由 TRUSTASIA 提供
本網(wǎng)站安全防護(hù)服務(wù)由 上海云盾 提供