0

以下を使用して、ページが存在するかどうかを確認しています。

for($i = 620; $i <= 630; $i++) 
{
    $url = 'http://fantasy.mlssoccer.com/web/api/elements/'.$i.'/';
    $headers = @get_headers($url);  
    echo $headers[0].'<br>';
}

時々これは10HTTP/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:

これが発生したときに(有効な非クラッシュ)ページが存在するかどうかを確認する方法はありますか?

4

1 に答える 1

2

さまざまな人々が言っ​​たことをスタンドアロンのphpスクリプトに要約します(これはコマンドラインから機能します-Webページ内で機能させることができると確信しています):

<?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!
于 2013-03-09T05:31:27.303 に答える