> php教程 > php手册 > 用PHP操作路由器

用PHP操作路由器

WBOY
풀어 주다: 2016-06-06 19:45:59
원래의
927명이 탐색했습니다.

我们经常会碰到需要自动换IP的需求,比方模拟点击投票,数据采集被封IP,Alexa作弊等等,也就是需要经常换IP的,我们都可以通过PHP控制路由器来换IP,这样就不需要用按键精灵搞得那么累了。呵呵。 有的路由器是提供通过WEB方式管理路由器设置的,中间有一个

我们经常会碰到需要自动换IP的需求,比方模拟点击投票,数据采集被封IP,Alexa作弊等等,也就是需要经常换IP的,我们都可以通过PHP控制路由器来换IP,这样就不需要用按键精灵搞得那么累了。呵呵。
有的路由器是提供通过WEB方式管理路由器设置的,中间有一个功能就是断线和重新连接,我们就利用这个功能,呵呵,下面看代码:

function router($target=''){

    $server  = '192.168.1.1';            // IP address
    $host    = '192.168.1.1';            // Domain name
    $port    = 80;
    $referer = 'http://'.$host.$target;    // Referer
    $username = "admin";#ADSL的路由的用户名
    $password = "admin";#ADSL的路由的管理密码
    $authorization = base64_encode($username.":".$password); //echo $authorization; exit();
        $File = fsockopen($server, $port, $errno, $errstr, 30);
    if ($File) {        
        $out = "GET $target HTTP/1.1\r\n";
        $out .= "Host: $host\r\n";
        $out .= "Referer: $referer\r\n";
        $out .= "Authorization: Basic $authorization\r\n";
        $out .= "Connection: Closern\r\n";
                fputs($File, $out);
                $makeFile = $buffer = "";
                while ($buffer = fread($File,4096)){
                        $makeFile = $makeFile.$buffer;
        }
        fclose($File);
        }
}


router("/userRpm/StatusRpm.htm?Disconnect=%B6%CF%20%CF%DF&wan=1");



//下面附上php获取当前网关IP地址

function getIP(){
$target="/userRpm/StatusRpm.htm";
    $server  = '192.168.1.1';            // IP address
    $host    = '192.168.1.1';            // Domain name
    $port    = 80;
    $referer = 'http://'.$host.$target;    // Referer
    $username = "admin";#ADSL的路由的用户名
    $password = "admin";#ADSL的路由的管理密码
    $authorization = base64_encode($username.":".$password); //echo $authorization; exit();
        $File = fsockopen($server, $port, $errno, $errstr, 30);
    if ($File) {        
        $out = "GET $target HTTP/1.1\r\n";
        $out .= "Host: $host\r\n";
        $out .= "Referer: $referer\r\n";
        $out .= "Authorization: Basic $authorization\r\n";
        $out .= "Connection: Closern\r\n";
                fputs($File, $out);
                $makeFile = $buffer = "";
                while ($buffer = fread($File,4096)){
                        $makeFile = $makeFile.$buffer;
        }
        fclose($File);
        }
//匹配当前网关
$pattern="/\"[A-Z0-9]{2}\-[A-Z0-9]{2}\-[A-Z0-9]{2}\-[A-Z0-9]{2}\-[A-Z0-9]{2}\-[A-Z0-9]{2}\", \"([0-9\.]+)\"/s";
if(preg_match_all($pattern,$makeFile,$match)){
  $nowIP=$match[1][1];
}
return $nowIP;
}

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿