如何利用帝国CMS采集HTTPS协议网址的内容
帝国cms采集https协议的网址内容需要先安装SSL安全证书,然后在系统设置中开启SSL支持。接着在采集模块中选择“远程保存图片”,勾选“对远程图片地址进行SSL加密”。最后在采集规则中填写https协议的网址,点击开始采集即可。需要注意的是,采集https协议的网址内容可能会受到网站反爬策略的影响,因此可能需要使用代理IP或者设置User-Agent等方法来规避反爬。此外,采集https协议的网址内容可能会涉及到版权问题,因此在采集前需要确保自己有合法的采集权限。
修改:/e/class/connect.php文件,在该文件最上面加上以下函数:
//获取https链接内容functiongetHTTPS($url){$ch=curl_init();curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);curl_setopt($ch,CURLOPT_HEADER,false);curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_REFERER,$url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);$result=curl_exec($ch);curl_close($ch);return$result;}
找到ReadFiletext函数如下代码:
functionReadFiletext($filepath){$filepath=trim($filepath);$htmlfp=@fopen($filepath,"r");//远程if(strstr($filepath,"://")){while($data=@fread($htmlfp,500000)){$string.=$data;}}//本地else{$string=@fread($htmlfp,@filesize($filepath));}@fclose($htmlfp);return$string;}
改成:
functionReadFiletext($filepath){$filepath=trim($filepath);$htmlfp=@fopen($filepath,"r");//远程if(strstr($filepath,"https://")){returngetHTTPS($filepath);}if(strstr($filepath,"://")){while($data=@fread($htmlfp,500000)){$string.=$data;}}//本地else{$string=@fread($htmlfp,@filesize($filepath));}@fclose($htmlfp);return$string;}
自此可实现采集https开头的网页链接
相关专题