PHP控制路由器自动换IP
2007/01/29 12:40 ArthurXF
我们经常会碰到需要自动换IP的需求,比方模拟点击投票,数据采集被封IP,Alexa作弊等等,也就是需要经常换IP的,我们都可以通过PHP控制路由器来换IP,这样就不需要用按键精灵搞得那么累了。呵呵。
有的路由器是提供通过WEB方式管理路由器设置的,中间有一个功能就是断线和重新连接,我们就利用这个功能,呵呵,下面看代码:
使用方法:url("/userRpm/StatusRpm.htm?Disconnect=断%20线");
断线后可以不连接,一般路由器会自动连接的。当然你也可以控制连接,就是把断线改成连接,不过每个路由器的连接可能会有些不同,请自行查找路由器正确的连接URL。
有的路由器是提供通过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);
}
}
?>
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。
会自动整理和修复HTML页面代码的php函数tidy
2007/01/29 12:16 ArthurXF
我们程序员和页面美工是经常配合的,当我们碰到一个有经验的,制作页面代码整洁的页面制作人员呢,那真是我们程序员的福气,写代码的效率都提高了,如果碰到一个刚入行的,那就痛苦了,光看他们做的页面代码就头大了,大部分时间要花在给他们做的代码找错上面。现在随着HTMLArea、 FCKeditor 等免费又功能强大的 WYSWYG在线编辑器的流行,我们就更加需要修正由用户造成的HTML代码错误。
不过现在好了,我们可以直接用php函数来修复页面代码,HTML Tidy Library包已经被整合到了PHP5,所以我们在PHP5下面就可以直接使用tidy函数了。
tidy函数库有下面这些函数:
我们只看几个最常用函数,其他的自己研究哦,下面看看tidy_repair_string例子:
程序代码:
输出结果:
看看错误被修正了,呵呵,所以我们对于用户通过在线编辑器输入的内容都应该用tidy修复。
不过现在好了,我们可以直接用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_ 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;
?>
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>
<html>
<head>
<title>test</title>
</head>
<body>
<p>error</p>
</body>
</html>
看看错误被修正了,呵呵,所以我们对于用户通过在线编辑器输入的内容都应该用tidy修复。