千家信息网

如何实现php模拟post_验证页面的返回状态

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"如何实现php模拟post_验证页面的返回状态",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何实现php模拟post_验证页面的
千家信息网最后更新 2026年11月01日如何实现php模拟post_验证页面的返回状态

这篇文章主要讲解了"如何实现php模拟post_验证页面的返回状态",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何实现php模拟post_验证页面的返回状态"吧!

1.主要文件,访问该页面,该页面根据"验证页面"的返回结果设置本文件的返回状态 header('HTTP/1.1 '.$code.' '.$_status[$code])

复制代码 代码如下:

ini_set('max_execution_time', 120);

include("CheckConfig.php");

function send_http_status($code) {
static $_status = array(
// Informational 1xx
=> 'Continue',
=> 'Switching Protocols',
// Success 2xx
=> 'OK',
=> 'Created',
=> 'Accepted',
=> 'Non-Authoritative Information',
=> 'No Content',
=> 'Reset Content',
=> 'Partial Content',
// Redirection 3xx
=> 'Multiple Choices',
=> 'Moved Permanently',
=> 'Moved Temporarily ', // 1.1
=> 'See Other',
=> 'Not Modified',
=> 'Use Proxy',
// 306 is deprecated but reserved
=> 'Temporary Redirect',
// Client Error 4xx
=> 'Bad Request',
=> 'Unauthorized',
=> 'Payment Required',
=> 'Forbidden',
=> 'Not Found',
=> 'Method Not Allowed',
=> 'Not Acceptable',
=> 'Proxy Authentication Required',
=> 'Request Timeout',
=> 'Conflict',
=> 'Gone',
=> 'Length Required',
=> 'Precondition Failed',
=> 'Request Entity Too Large',
=> 'Request-URI Too Long',
=> 'Unsupported Media Type',
=> 'Requested Range Not Satisfiable',
=> 'Expectation Failed',
// Server Error 5xx
=> 'Internal Server Error',
=> 'Not Implemented',
=> 'Bad Gateway',
=> 'Service Unavailable',
=> 'Gateway Timeout',
=> 'HTTP Version Not Supported',
=> 'Bandwidth Limit Exceeded'
);
if(array_key_exists($code,$_status)) {
header('HTTP/1.1 '.$code.' '.$_status[$code]);
}
}

function GetStatusCode($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url); //设置URL

curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header
curl_setopt($curl,CURLOPT_NOBODY,true); //Body就不要了吧,我们只是需要Head
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了
$data = curl_exec($curl); //开始执行啦~
$HttpCode =curl_getinfo($curl,CURLINFO_HTTP_CODE); //我知道HTTPSTAT码哦~
curl_close($curl); //用完记得关掉他
return $HttpCode;
}

function ResetUrl($url)
{
if(strpos($url,"?")>0)
$url.="&rnd";
else
$url.="?rnd";
$url.=rand();
return $url;
}

function ShowStateInfo($UrlArr,$MailPara)
{
$count=count($UrlArr);
if(isset($_REQUEST["start"]))
{
$start=$_REQUEST["start"]*1;
}
else
{
$start=1;
}
if(isset($_REQUEST["end"]))
{
$end=$_REQUEST["end"]*1;
}
else
{
$end=$start;
}

$start=$start-1;
$end=$end-1;

if($start<0)
{
$start=0;
}

if($start>=0 && $start<$count)
{
if($end>=$count)
{
$end=$count-1;
}

if($end<$start)
{
$end=$start;
}
$sTime=date("Y/m/d H:m:s");
echo "开始时间".$sTime."
";
echo "检测结果
";
for($i=$start;$i<=$end;$i++)
{
$url=ResetUrl($UrlArr[$i]);
$state=GetStatusCode($url);
echo "  ".$state ." => ".$url."";
if($state!="200")
{
echo " 本条访问出错!
";
send_http_status($state);

//发邮件
require("Mail.php");
$MailPara["Subject"]="网站监控结果";
$MailPara["Body"]="错误信息:状态->".$state."
地址:".$url;
SendResultMail($MailPara);

break;
}
echo "
";
}
$eTime=date("Y/m/d H:m:s");

echo "结束时间".$eTime."
";
}

}
ShowStateInfo($UrlArr,$MailPara);
?>

2.邮件

复制代码 代码如下:

function SendResultMail($MailPara)
{
require("phpmailer/class.phpmailer.php");

$mail = new PHPMailer();
$mail->CharSet = $MailPara["CharSet"];
$mail->IsSMTP();
$mail->Host = $MailPara["Host"];
$mail->Port = $MailPara["Port"];

$mail->SMTPAuth = true;

$mail->Username = $MailPara["FromMail"];
$mail->Password = $MailPara["FromMailPassword"];
$mail->From = $MailPara["FromMail"];
$mail->FromName = $MailPara["FromMailName"];

foreach($MailPara["To"] as $toMail)
{
$mail->AddAddress($toMail["ToMail"], $toMail["ToMailName"]);
}

$mail->Subject = $MailPara["Subject"];
$mail->Body = $MailPara["Body"];
$mail->AltBody = $MailPara["AltBody"];

if(!$mail->Send())
{
echo "邮件发送失败.

";
echo "错误原因: " . $mail->ErrorInfo ."
";
exit;
}

echo "邮件发送成功
";
}

3.配置文件

复制代码 代码如下:

$UrlArr=array(
"localhost/test/281892.shtml",
"localhost/test/all-229-1-221.shtml",
"localhost/testclass/all-254-1-1.shtml",
"localhost/test/cheng/bd/1988478.html",
"localhost/test/asd/2066495.html"
);

//邮箱发送相关信息
$MailPara=array(
"CharSet"=> "GB2312",
"Host"=> "smtp.exmail.qq.com", // 邮箱服务地址
"Port"=>25,

"FromMail"=> "fdsafdsafd@fdasfds.com", // 发件人邮箱地址
"FromMailPassword"=> "*********", // 发件人邮箱密码
"FromMailName"=> "检测", //发件人称呼

"To"=>array(
array(
"ToMail"=>"defdafdsafdsafdf@qq.com", //收件人邮箱地址
"ToMailName"=> "bqq", //收件人称呼
),
array(
"ToMail"=>"abfdsafdsafdsafc@gmail.com", //收件人邮箱地址
"ToMailName"=> "agmail", //收件人称呼
)
),

"Subject"=> "", //邮件标题
"Body"=> "", //邮件内容
"AltBody"=> "附加信息" //附加信息,可以省略
);

?>

感谢各位的阅读,以上就是"如何实现php模拟post_验证页面的返回状态"的内容了,经过本文的学习后,相信大家对如何实现php模拟post_验证页面的返回状态这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

页面 状态 验证 代码 邮件 邮箱 地址 信息 收件人 内容 发件人 文件 称呼 结果 学习 时间 错误 检测 附加 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 互联网科技保险 金融科技还是互联网 工业互联网科技新基建 科技与互联网发展 互联网 的科技创新 互联网科技作文 北京禾田雨橡互联网科技 互联网科技股午盘股票涨跌 新华互联网科技校企合作 云创客互联网科技公司 受益于互联网科技的高速发展 互联网软件和科技 江阴互联网智能科技产品进口 互联网与医疗科技 哈尔滨屹滨互联网科技有限公司 互联网金融科技公司的优势 产业互联网科技服务公司 互联网风格科技公司名称 六子台科技互联网展会 山东特亿宝互联网科技有限公司 奇酷互联网科技公司 哈尔滨新华互联网科技 成都仁贤领冠互联网科技有限公司 互联网科技公司招聘 汉立互联网科技有限公司联系电话 昭通云南众福互联网科技有限公司 东莞新华互联网科技学校 易企秀互联网科技是做什么的 青岛易易互联网科技
0