判断某个域名是否能打开,我用过很多方法,curl_init,fsockopen,file_get_content($url,NULL,$text)其中$text为stream_context_create建立超时,但对于无法打开的域名都没有效果,这里的指打开是空白页面的(没有HTML,没有HEAD,没有BODY),过期的,跳转的有效果,参考
$arr=array("http://www.baidu.com","http://www.ccin.cc","http://www.contourdes.com");
这个数据中
$arr[0]网站正常,毫无疑问没有问题;
$arr[1]网站打不开,有问题,我的问题就在这,如何判断和跳过,curl_init,fsockopen,file_get_content 方法都在获取时设置了超时,设置了超时中断都不行, try-catch可以获取错误PHP has encountered an Access Violation at 7C95B56B
$arr[2]网站过期,这个可以通过get_headers或者上面的方法获取值来判断

解决方案 »

  1.   

    get_headers不能反回包含 200 的都不是能征程访问的网站
      

  2.   

    不是吧?curl 对于 http://www.ccin.cc 会不报错?那你得到什么了?
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  3.   

    看帖不仔细,抱歉。你说了“try-catch可以获取错误PHP has encountered an Access Violation at 7C95B56B”。这个貌似引擎崩溃了,也许是安装有问题,也许是引擎或者扩展模块中的 BUG。总之,正常情况下,curl(或者其它网络函数)对于无法正常通信的域名、网址,都会返回相应的错误信息。