加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现抓取Google IP并自动修改hosts文件

发布时间:2020-12-13 02:24:45 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:PHP实现抓取Google IP并自动修改hosts文件》要点: 本文介绍了PHP实例:PHP实现抓取Google IP并自动修改hosts文件,希望对您有用。如果有疑问,可以联系我们。 PHP教程 无聊中居然又找到个php版本的抓取google hosts的文件,试了下还可以用,ping了

《PHP实例:PHP实现抓取Google IP并自动修改hosts文件》要点:
本文介绍了PHP实例:PHP实现抓取Google IP并自动修改hosts文件,希望对您有用。如果有疑问,可以联系我们。

PHP教程无聊中居然又找到个php版本的抓取google hosts的文件,试了下还可以用,ping了下ip,延迟也不是很高,网页打开测试了下速度也很快,大家有兴趣的话可以尝尝.

PHP教程自动更新hosts文件,不覆盖已存在的记录,便利使用,不用每次都 复制->打开hosts文件->粘贴.

PHP教程php文件:

PHP教程
<必修php
/**
 * 免翻墙上google
 * @author 自娱自乐自逍遥 <wapznw@gmail.com>
 * Date: 2015/2/6
 * Time: 11:42
*/
define('START_TAG','#google-hosts-2015');
define('END_TAG','#google-hosts-2015-end');
if(!empty($argv[1])){
 $params = array();
 parse_str($argv[1],$params);
if(isset($params['url'])){
 define('GOOGLE_HOST_URL',$params['url']);
}
if(isset($params['del'])){
define('DELETE_GOOGLE_HOST',true);
}
}
defined('GOOGLE_HOST_URL') || define('GOOGLE_HOST_URL','http://www.360kb.com/kb/2_150.html');
if(PHP_OS == 'WINNT'){
 define('HOSTS_FILE_PATH','C:WindowsSystem32driversetchosts');
}else if(in_array(PHP_OS,array('Linux','Darwin','FreeBSD','OpenBSD','WIN32','Windows','Unix'))){
 define('HOSTS_FILE_PATH','/etc/hosts');
}else{
 die('Unsupported system!'.PHP_EOL);
}
if(!is_writable(HOSTS_FILE_PATH)){
 die('Without permission,please use the root user to perform!'.PHP_EOL);
}
$hosts = file_get_contents(HOSTS_FILE_PATH);
$startPos = strpos($hosts,START_TAG);
if(!defined('DELETE_GOOGLE_HOST')){
 $gs = get_google_hosts();
 echo GOOGLE_HOST_URL.PHP_EOL;
 echo $gs.PHP_EOL;
}else{
 $gs = '';
 echo 'reset hosts'.PHP_EOL;
}
if($startPos){
 $_tmp = substr($hosts,$startPos,strpos($hosts,END_TAG) - $startPos + strlen(END_TAG));
 $hosts = str_replace($_tmp,$gs,$hosts);
}else{
 $hosts.= PHP_EOL.$gs;
}
$old_file_size = filesize(HOSTS_FILE_PATH);
if(file_put_contents(HOSTS_FILE_PATH,$hosts)){
 die('success. '.PHP_EOL);
}else{
die('fail'.PHP_EOL);
}
function get_google_hosts(){
 $html = file_get_contents(GOOGLE_HOST_URL);
 $html = strip_tags($html);
 $startPos = strpos($html,START_TAG);
 $html = substr($html,strpos($html,END_TAG) - $startPos);
 $html = str_replace('?',' ',$html);
 return $html.PHP_EOL.END_TAG;
}

欢迎参与《PHP实例:PHP实现抓取Google IP并自动修改hosts文件》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读