我想判斷一個網站是否能夠打開
1.先用php ping這個網站看是否能夠ping通
2.http返回是否是200Ok
3.是否文件內容有沒有html標籤
現在主要不知道第三步怎麼實作,是直接file_get_content,然後找這個檔案裡面有沒有html?
用strpos?
我想判斷一個網站是否能夠打開
1.先用php ping這個網站看是否能夠ping通
2.http返回是否是200Ok
3.是否文件內容有沒有html標籤
現在主要不知道第三步怎麼實作,是直接file_get_content,然後找這個檔案裡面有沒有html?
用strpos?
<code><?php $url = 'http://www.baidu.com/'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_exec($ch); // $resp = curl_exec($ch); $curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($curl_code == 200) { echo '连接成功,状态码:' . $curl_code; } else { echo '连接失败,状态码:' . $curl_code; }</code>
如果對於302這樣的跳躍也算是訪問成功的話,你也可以加入判斷裡面。
<code>if ($curl_code == 200 || $curl_code == 302) { echo '连接成功,状态码:' . $curl_code; } else { echo '连接失败,状态码:' . $curl_code; }</code>
http://www.baidu.com/
回傳的是200;http://www.baidu.com/xxx
回傳的是302,實際造訪中,http://www.baidu. com/xxx
跳轉為https://www.baidu.com/search/error.html
這樣的。
我覺得你可以先得到文件內容在做判斷是否有html標籤!這沒有什麼好糾結的^_^
curl
模擬訪問一次看看,在透過返回值判斷。
curl 判斷http status 是否200