我使用以下内容检查页面是否存在。
for($i = 620; $i <= 630; $i++)
{
$url = 'http://fantasy.mlssoccer.com/web/api/elements/'.$i.'/';
$headers = @get_headers($url);
echo $headers[0].'<br>';
}
有时这会给出10 HTTP/1.1 200 OK
,有时候最后5有HTTP/1.1 500 Internal Server Error
这有什么办法吗?如果您在625之后访问这些页面并进行刷新,则会显示一个页面500 Internal Server Error nginx
,或者您有时会看到以Piston/0.2.2 (Django 1.4.4) crash report:
开头的页面。
我知道如何检查(有效的非崩溃)页面是否存在这种情况?
答案 0 :(得分:2)
总结各个人对独立的PHP脚本的说法(这可以从命令行开始 - 我相信你可以让它在网页中运行):
<?php
for($i = 620; $i <= 630; $i++)
{
$url = 'http://fantasy.mlssoccer.com/web/api/elements/'.$i.'/';
$headers = @get_headers($url);
$match = preg_grep("/200 OK/", $headers);
if (strlen($match[0]) == 0) {
echo "page ".$i." does not exist!\n";
}
else {
echo "page ".$i." exists!\n";
}
}
?>
这刚刚产生了以下输出:
floris$ php valid.php
page 620 exists!
page 621 exists!
page 622 exists!
page 623 exists!
page 624 exists!
page 625 does not exist!
page 626 does not exist!
page 627 does not exist!
page 628 does not exist!
page 629 does not exist!
page 630 does not exist!