博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它,如何实现判断指定网址是否能够打开。
本文介绍用途:自己写了一个博客导航网站:第二导航网www.numberer.net,然后收录的博客渐渐多起来了,有的时候偶然点击某个博客的时候却发现该网站无法访问了,这样会造成自己的博客导航网出现死链,影响网站的发展,因此需要在编写一个功能,判断已收录的博客是否能够顺利打开,若否,则删除,这就是编写本文的出发点。当然,除了使用PHP的cURL函数库可以实现这一功能,还有其它的方法,但本文只介绍通过cURL库来实现判断指定网址是否能够打开。
完整代码如下:
// 初始化一个新的cURL会话并获取一个网页
function httpcode($url)
{
// 初始化一个新的cURL会话,返回一个cURL句柄,供 curl_setopt(), curl_exec()和 curl_close() 函数使用
$ch = curl_init();
$timeout = 10; //
/* 设置URL和相应的选项 */
// 启用时会将服务器返回的"Location: "放在header中递归的返回给服务器
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
// 将 curl_exec()获取的信息以文件流的形式返回,而不是直接输出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
// 启用时会将头文件的信息作为数据流输出
curl_setopt($ch, CURLOPT_HEADER, 1);
// 在发起连接前等待的时间,如果设置为0,则无限等待
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
// 需要获取的URL地址
curl_setopt($ch,CURLOPT_URL,$url);
// 抓取URL并把它传递给浏览器
curl_exec($ch);
// 常量CURLINFO_HTTP_CODE代表:最后一个收到的HTTP代码
return $httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
// 关闭cURL资源,并且释放系统资源
curl_close($ch);
}
使用方法:
// 如果显示为200则正常,如果显示其它值表示不正常;$timeout后面的3是设置超时秒数。
$url = 'http://www.mafutian.net';
var_dump(httpcode($url));
$url = 'http://www.mafutian.org';
var_dump(httpcode($url));
执行结果:
若需要更深入的了解cURL,可以参考PHP学习手册,里面有详细介绍。
版权归 马富天PHP博客 所有
本文链接地址:http://www.mafutian.net/189.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶0
踩0
第 1 楼 博客导航 2016-08-24 09:14:02 江苏苏州
评论审核未开启 |