介绍
phpcms无法采集的解决方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
<强> phpcms无法采集怎么办? 强>
无法采集https的网站内容主要是https不支持file_get_contents获取内容,所以可以考虑采用旋度的方式获取。(需要开启卷发,可以在pathinfo里边查看)
(1)打开phpcms \模块\ \ \ collection.class类集合。php
在类里边添加新函数:
保护静态函数curl_request ($ url) { 如果(! function_exists (& # 39; curl_init& # 39;)) { 抛出新的异常(& # 39;服务器没有安装旋度# 39;); } $ ch=curl_init (); curl_setopt ($ ch CURLOPT_URL $ url); curl_setopt (ch美元CURLOPT_HEADER 0); curl_setopt (ch美元CURLOPT_RETURNTRANSFER 1);//禁止调用时就输出获取到的数据 curl_setopt (ch美元CURLOPT_FOLLOWLOCATION 1); curl_setopt ($ ch CURLOPT_SSL_VERIFYPEER假); curl_setopt ($ ch CURLOPT_SSL_VERIFYHOST假); (结果=curl_exec美元ch); curl_close (ch); 返回结果美元; }
(2)找到函数函数get_htm把该函数
保护静态函数get_html ($ url和配置美元){ 如果(!空($ url),,html=@file_get_contents美元($ url)) { if ($ syscharset !=$ config [& # 39; sourcecharset& # 39;),,$ config [& # 39; sourcetype& # 39;] !=4) { (html=iconv美元配置[& # 39;sourcecharset& # 39;],字符集标准# 39;//TRANSLIT//忽略# 39;,html美元); } 返回html美元; 其他}{ 返回错误; } }
改成
保护静态函数get_html ($ url和配置美元){ 如果(substr(修剪(url)美元0 5)==癶ttps") { $ html=@self: curl_request ($ url); 其他}{ html=@file_get_contents美元($ url); } 如果(!空($ url),,$ html) { if ($ syscharset !=$ config [& # 39; sourcecharset& # 39;),,$ config [& # 39; sourcetype& # 39;] !=4) { (html=iconv美元配置[& # 39;sourcecharset& # 39;],字符集标准# 39;//TRANSLIT//忽略# 39;,html美元); } 返回html美元; 其他}{ 返回错误; } }
然后保存即可获取,测试结果
不知道是否还有其他错误,欢迎留言反馈!
感谢各位的阅读!看完上述内容,你们对phpcms无法采集的解决方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注行业资讯频道。