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

<?php

function url($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);

       $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: Close\r\n\r\n";

               fputs($File, $out);

               $makeFile = $buffer = "";
               while ($buffer = fread($File,4096))
               {
                       $makeFile = $makeFile.$buffer;
               }
               fclose($File);

       }
}
?>

使用方法:url("/userRpm/StatusRpm.htm?Disconnect=断%20线");
断线后可以不连接,一般路由器会自动连接的。当然你也可以控制连接,就是把断线改成连接,不过每个路由器的连接可能会有些不同,请自行查找路由器正确的连接URL。
  我们程序员和页面美工是经常配合的,当我们碰到一个有经验的,制作页面代码整洁的页面制作人员呢,那真是我们程序员的福气,写代码的效率都提高了,如果碰到一个刚入行的,那就痛苦了,光看他们做的页面代码就头大了,大部分时间要花在给他们做的代码找错上面。现在随着HTMLArea、 FCKeditor 等免费又功能强大的 WYSWYG在线编辑器的流行,我们就更加需要修正由用户造成的HTML代码错误。
  不过现在好了,我们可以直接用php函数来修复页面代码,HTML Tidy Library包已经被整合到了PHP5,所以我们在PHP5下面就可以直接使用tidy函数了。
tidy函数库有下面这些函数:
引用
ob_ tidyhandler
tidy_ access_ count
tidy_ clean_ repair
tidy_ config_ count
tidy:: _ _ construct
tidy_ diagnose
tidy_ error_ count
tidy_ get_ body
tidy_ get_ config
tidy_ get_ error_ buffer
tidy_ get_ head
tidy_ get_ html_ ver
tidy_ get_ html
tidy_ get_ opt_ doc
tidy_ get_ output
tidy_ get_ release
tidy_ get_ root
tidy_ get_ status
tidy_ getopt
tidy_ is_ xhtml
tidy_ is_ xml
tidy_ load_ config
tidy_ node-> get_ attr
tidy_ node-> get_ nodes
tidy_ node-> next
tidy_ node-> prev
tidy_ parse_ file
tidy_ parse_ string
tidy_ repair_ file
tidy_ repair_ string
tidy_ reset_ config
tidy_ save_ config
tidy_ set_ encoding
tidy_ setopt
tidy_ warning_ count
tidyNode-> hasChildren
tidyNode-> hasSiblings
tidyNode-> isAsp
tidyNode-> isComment
tidyNode-> isHtml
tidyNode-> isJste
tidyNode-> isPhp
tidyNode-> isText


我们只看几个最常用函数,其他的自己研究哦,下面看看tidy_repair_string例子:
程序代码:

<?php
ob_start();
?>

<html>
 <head>
  <title>test</title>
 </head>
 <body>
  <p>error</i>
 </body>
</html>

<?php

$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);

echo $tidy;
?>

输出结果:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>test</title>
</head>
<body>
<p>error</p>
</body>
</html>

看看错误被修正了,呵呵,所以我们对于用户通过在线编辑器输入的内容都应该用tidy修复。
Tags: , ,
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]