[PHP-users 86] リンク切れを調査する方法について
Kouichi Matsumoto
php-users@php.gr.jp
Sun, 17 Jun 2001 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 */