PHP如何实现纯真IP库的自动更新呢?其实非常简单,写个定时task,每周更新1次,就能一直保持最新状态,代码如下:
PHP如何从qqwry.dat中解析IP呢?也很简单,有现成的类可用:
<?php
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库文件的下载,找了好久,才发现两个,目前可用,以后就不太清楚了,希望对大家有用。