У меня есть скрипт php, к которому я недавно добавил массив.Сценарий php проверяет URL-адреса из массива на предмет набора текста также в массиве.Все отлично работает, за исключением того, что скрипт не будет следить за перенаправлениями или проверять подстраницы.Мне сказали, что это ограничение fsocketopen и что мне нужно использовать CURL.Если это так, то мне нужна помощь, чтобы преобразовать это из fsocketopen в CURL.Надеемся, что есть какой-то способ заставить fsocketopen следовать перенаправлениям или, по крайней мере, получить доступ к подстраницам.
function check($host, $find){
$fp = fsockopen($host, 80, $errno, $errstr, 10);
if (!$fp){
echo "$errstr ($errno)\n";
} else {
$header = "GET / HTTP/1.1\r\n";
$header .= "Host: $host\r\n";
$header .= "Connection: close\r\n\r\n";
fputs($fp, $header);
while (!feof($fp)) {
$str.= fgets($fp, 1024);
}
fclose($fp);
return (strpos($str, $find) !== false);
}
}
function alert($host){
$headers = 'From: Set your from address here';
mail('my-email@my-domain.com', 'Website Monitoring', $host.' is down' $headers);
}
$hostMap = array(
'www.my-domain.com' => 'content on site',
'www.my-domain2.com' => 'content on second site',
);
//if (!check($host, $find)) alert($host);
foreach ($hostMap as $host => $find){
if( !check( $host, $find ) ){
alert($host);
}
}
unset($host);
unset($find);
Очевидно, я не совсем понял свой вопрос.Я ищу подтверждение того, что fsocketopen не может следовать за перенаправлениями или что он не может перейти на подстраницу (url.com/subpage).Если это так, является ли CURL моим лучшим вариантом и есть ли примеры, на которые я могу посмотреть?