Как проверить, есть ли в списке доменных имен сайт? - PullRequest
0 голосов
/ 01 сентября 2011

У меня огромный список доменных имен в виде abcde.com

Что мне нужно сделать, это проверить, есть ли у доменов страница, в противном случае я получаю сообщение о том, что сервер не найден.

Какой код проверяет это автоматически и возвращает мне что-то, если есть сайт?Я знаком с PHP.

Спасибо.

Ответы [ 2 ]

1 голос
/ 01 сентября 2011

Что-то простое будет:

foreach ($domains as $domain) {
    $html =  file_get_contents('http://'.$domain);
    if ($html) {
        //do something with data
    } else {
       // page not found
    }
}

Если они есть в текстовом файле, с каждой строкой, содержащей доменное имя, вы можете сделать это:

$file_handle = fopen("mydomains.txt", "r");
    while (!feof($file_handle)) {
        $domain = fgets($file_handle);
        //use code above here
    }
}
fclose($file_handle);
0 голосов
/ 01 сентября 2011

Вы можете подключиться к каждому домену / имени хоста, используя cURL.

Пример:

// I'm assuming one domain per line
$h = fopen("domains.txt", "r");

while (($host = preg_replace("/[\n\r]/", "", fgets($h))) !== false) {
    $ch = curl_init($host);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    if (curl_exec($ch) !== false) {
        // code for domain/host with website
    } else {
        // code for domain/host without website
    }
    curl_close($ch);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...