PHP如何实现纯真IP库的自动更新呢?其实非常简单,写个定时task,每周更新1次,就能一直保持最新状态,代码如下:
PHP如何从qqwry.dat中解析IP呢?也很简单,有现成的类可用:
ini_set('max_execution_time', 7200); | |
ini_set("memory_limit", "2048M"); | |
$copywrite = file_get_contents("http://update.cz88.net/ip/copywrite.rar"); | |
$qqwry = file_get_contents("http://update.cz88.net/ip/qqwry.rar"); | |
$key = unpack("V6", $copywrite)[6]; | |
for($i=0; $i<0x200; $i++) | |
{ | |
$key *= 0x805; | |
$key ++; | |
$key = $key & 0xFF; | |
$qqwry[$i] = chr( ord($qqwry[$i]) ^ $key ); | |
} | |
$qqwry = gzuncompress($qqwry); | |
$fp = fopen("qqwry.dat", "wb"); | |
if($fp) | |
{ | |
fwrite($fp, $qqwry); | |
fclose($fp); | |
} | |
这种方式现已经不可用了,纯真官方已经禁止了,请求上述两个url会返回text/html的代码,然后gzuncompress就会报错:
gzuncompress(): data error
现在官方只在微信公众号“纯真IP实验室”里提供exe的离线包文件下载,每周更新一次。
如需要dat的离线文件自动更新,需要500元购买一个app code后才行,而且限制一个app code一周只能下载3次。
幸运的是,我在github上发现有好心人提供了qqwry.dat最新IP库文件的下载,找了好久,才发现两个,目前可用,以后就不太清楚了,希望对大家有用。