0
我有一個php腳本,我最近添加了一個數組。 php腳本從數組中檢查URL的一組文本,這些文本也在數組中。除非腳本不遵循重定向或檢查子頁面,否則一切都很好。 我被告知這是fsocketopen的限制,我需要使用CURL。 如果是這種情況,那麼我需要一些幫助,從使用fsocketopen轉換爲CURL。希望有一些方法可以讓fsocketopen遵循重定向或至少訪問子頁面。需要將fsocketopen更改爲CURL以便能夠導航重定向
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('[email protected]', '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是我最好的選擇,並且有我能看的任何例子嗎?
Stackoverflow不是「請爲我代碼」網站。如果你需要某些特定的幫助,或者不知道爲什麼有些事情不行,那很好。親自嘗試一下。檢查文檔。如果無法弄清楚,請查找其他示例。 – Mike
那麼如何確認我的假設對於fsocketopen是否正確。我不記得要求某人爲我編碼。我尋求幫助,包括指點某人在正確的方向。 – Havock
'fsockopen'本身不會遵循重定向,但是如果您看到http://www.php.net/manual/en/function.fsockopen.php#52033,您可能會了解如何完成這項工作做了某種遞歸函數。只要確保在重定向循環的情況下對重定向的數量設置某種限制,這是大多數瀏覽器所做的。 – Mike