PHP实现抓取Google IP并自动修改hosts文件
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-13 10:22:56 浏览: 评论:0
这篇文章主要介绍了PHP实现抓取Google IP并自动修改hosts文件,本文方法可以实现免翻墙上google,小编亲测可用,需要的朋友可以参考下
无聊中居然又找到个php版本的抓取google hosts的文件,试了下还可以用,ping了下ip,延迟也不是很高,网页打开测试了下速度也很快,大家有兴趣的话可以试试.
自动更新hosts文件, 不覆盖已存在的记录,方便使用,不用每次都 复制->打开hosts文件->粘贴。
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(!emptyempty($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, $startPos, strpos($html,END_TAG) - $startPos);
- $html = str_replace(' ',' ',$html);
- return $html.PHP_EOL.END_TAG;
- }
Tags: PHP抓取Google IP
相关文章
- ·php中Fatal error: Class ZipArchive not found的解决办法(2013-12-02)
- ·php实现封IP功能(2013-12-09)
- ·显示访客的IP地址(2013-12-10)
- ·php获取访问者真实ip地址(2013-12-19)
- ·PHP IP地址与整型互相转换详解(2014-01-06)
- ·php怎么设置后台某IP段可以登陆?(2014-01-08)
- ·php中stripslashes与addslashes用法区别(2014-03-12)
- ·PHP获取IP地址输出为数组程序代码(2014-07-10)
- ·php 获取客户端的ip地址程序代码(2014-07-19)
- ·php伪造IP地址与来源程序代码(2014-07-29)
- ·php curl 伪造IP来源实例(2014-07-30)
- ·ip地址转换成十进制实现程序(2014-07-30)
- ·php 伪造ip地址来源实现程序(2014-08-01)
- ·ip网段转换程序,把ip地址转换成相对就的整数(2014-08-15)
- ·php获取客户端ip地址(2014-08-16)
- ·php中stripslashes与 addslashes应用实例(2014-09-16)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)