首页 > 后端开发 > php教程 > curl - php判断一个网站是否能够打开

curl - php判断一个网站是否能够打开

WBOY
发布: 2016-09-19 09:16:28
原创
1881 人浏览过

我想判断一个网站是否能够打开
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></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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板