上面的刷票程序是改进后的,原来的主要代码如下:
<?php
$host = "dev.jxnews.com.cn";
$port = "80";
$msg = "POST /dev05/school/dx_insert.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*
Referer: http://dev.jxnews.com.cn/dev05/school/dx.php
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)
Host: dev.jxnews.com.cn
Content-Length: 144
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: univip=123456
dx=109&dx=113&dx=114&dx=115&dx=116&dx=117&dx=118&dx=119
&dx=120&dx=111&randnum=123456&choiceid=111
&typ=4&Submit=+++%CC%E1+%BD%BB+%D1%A1+%CF%EE+++";

wfile(date('Y-M-d H:i:s',time()) . "<br> ");
for($i = 1;$i<=3;$i++){
$fp = fsockopen($host, $port, $errno, $errstr,10);
if(!$fp){
echo("第" . $i . "票:投票失败!<br> ");
echo("errstr:" . $errstr . " errn" . $errno);
}else{
fputs($fp,"$msg");
if(!feof($fp)){
$fback = fgets($fp,128);
if(ereg('/s*/', $fback)){ //这里采用简化处理,认为连接成功,则投票成功!
echo("第" . $i . "票:投票成功!<br> ");
}
wfile($fback);
}
fclose($fp);
sleep(1);//缓冲,太快的话,怕他们受不了。^_^
}
}
//对投票返回结果,偶保存了一下。^_^一下是保存函数。使用追加方式的存储,有兴趣可以看看。
function wfile($content, $file = "pollresult.txt", $mode='a+') {
$oldmask = umask(0);
$fp = fopen($file, $mode);
if (!$fp) return false;
fwrite($fp,$content);
fclose($fp);
umask($oldmask);
return true;
}
?>
大概的咚咚就这样了。^_^
有兴趣的朋友们欢迎一起交流。
本文介绍了一款基于PHP编写的简单刷票程序,该程序通过发送HTTP请求模拟投票过程。主要内容包括程序的工作原理、关键代码段及投票结果的保存方法。

被折叠的 条评论
为什么被折叠?



