curl - php判斷一個網站是否能夠打開

WBOY
發布: 2016-09-19 09:16:28
原創
1858 人瀏覽過

我想判斷一個網站是否能夠打開
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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板