php重启路由
本帖最后由 bcpxqz 于 2010-6-5 18:42 编辑采集某某点评网站的时候,如果访问过快,防spam机制会锁定你的ip,这时候只好重启路由了,gg一下,发现了相关代码,稍修改了下,希望对大家采集有所帮助。//操作路由
function router($target='')
{
$server= '192.168.0.1'; // IP address
$host = '192.168.0.1'; // Domain name
$port = 80;
$referer = 'http://'.$host.$target; // Referer
$username = "admin";#路由的用户名
$password = "admin";#路由的管理密码
$authorization = base64_encode($username.":".$password);
$File = fsockopen($server, $port, $errno, $errstr, 50);
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: Close\r\n\r\n";
fputs($File, $out);
$makeFile = $buffer = "";
while ($buffer = fread($File,4096))
{
$makeFile = $makeFile.$buffer;
}
fclose($File);
return $makeFile;
}
}
//断开
function disconnectr() {
$url = '/if.cgi?redirect=sys_status.htm&failure=fail.htm&type=wan_state_reset&ifname=ppp0&ifstatus=Up&ifcmd=DISCONNECT';
//这个地址你可以通过firebug获得
router($url);
}
//连接
function connectr() {
$url = '/if.cgi?redirect=sys_status.htm&failure=fail.htm&type=wan_state_reset&ifname=ppp0&ifstatus=Down&ifcmd=CONNECT';
//这个地址你可以通过firebug获得
router($url);
}
//状态
function connects() {
$url="/sys_status.htm";
$str = router($url);
return $str;
}
//是否连接成功
function checkconnetr($step,$time) {
$find = 'cableDSL="3"-1';
$str = connects();
if(strpos($str,$find)){
$url = "?step=".$step;
echo '路由器重启ok';
echo "<script>setTimeout(\"document.location='$url'\",$time)</script>";
return true;
}else{
//重检测
if(isset($_GET['page'])){
$page = intval($_GET['page']);
}else{
$page=1;
}
if($page==6){
echo '路由器操作超时';
}else{
$url = "?step=5&page=".($page+1)."&"."tostep=$step";
echo "<script>setTimeout(\"document.location='$url'\",9000)</script>";
}
}
}
function reset_R($page,$step,$time=2000) {
echo '正在重启路由器';
if(isset($_GET['page'])){
$page = intval($_GET['page']);
}else{
$page=1;
}
if($page==1){
disconnectr();
connectr();
return checkconnetr($step,$page);
}else{
return checkconnetr($step,$page);
}
} 这思路很有意思哈。^_^{:2_141:} 麻烦,直接用个动态proxy调度 哦 ?什么 个思路啊 回复 3# aven
谢谢,这个思路不错,省去了断开连接和循环检测的时间。俺比较菜,不知道在火车头里能实现不? {:4_180:}使用动态IP代理 回复 6# zjyk1984
谢谢! 呵呵。。思路不错。。 牛B,这也行!!!!!!!! 我尝试了代理,不过还是这种方便,代理的链接有点慢(可能是我找的代理太垃圾)
页:
[1]