[PHP-users 86] リンク切れを調査する方法について

Kouichi Matsumoto php-users@php.gr.jp
2001年6月17日 23:39:36 +0900


松本です。
phpからURLのリンク切れを調査したく、下記コードにてまずは、
gethostbyname()でドメインの有効性をチェックしたいのですが、
ドメインが存在しない場合30秒以上応答が帰ってこない場合があります。
すぐに応答が帰ってくるような良い方法はございますでしょうか?
又、URLがSSLの場合にデッドリンクをチェックを行うと
HTTP/1.1 400 Bad Request となってしまいます。
URLが、SSLでもデッドリンクをチェックする方法はございますでしょうか?
<?php
// くろまるドメインが有効か?
$domain = "www.aaaaaaaaaaaaaaaaaaaaaaaa.com";
//$domain = "www.rakuten.co.jp";
$hostip = gethostbyname($domain);
 if ($domain == $hostip) {
 echo "<p>ドメイン名が見つかりません。\n";
 exit;
 }
 else{
 echo $hostip."<BR>";
 }
// ★URLがデッドリンクか?(注記)SSLの場合存在しても400エラー。。
$connection = fsockopen("www.rakuten.co.jp", 443);
//$connection = fsockopen("www.rakuten.co.jp", 80);
$pass = "/";
if ($connection) {
 fputs($connection,"GET $pass HTTP/1.0\r\n\r\n");
 while (!feof($connection)) {
 $buff = fgets($connection,4096);
 print($buff);
 }
 fclose($connection);
}
?>
よろしくお願いいたします。
///* Kouichi.Matsumoto */

AltStyle によって変換されたページ (->オリジナル) /