演示链接:查看演示

dedecms采集,dede无法采集端口不为80的网址错误解决

dedecmsCMS采集,一般用不到采集网址有端口的情况,少数有端口的网址就无法采集了。总结了下dede无法采集端口不为80的网址错误解决:
 
问题描述,当采集的网址后代端口时(为防止有推广嫌疑就把网址换成xxx了。):
 
测试采集网址:http://www.xxx.com:89/index.php/main/news/index.html?channel_id=104&page=1
 
这样显然得到的网址是错误的。根本无法访问,也就无法采集了。
 
经过一番查找,原来是dede 设置HTML的内容和来源网址 的函数问题,漏写端口判断了。
 
 
include/dedehtml2.class.php
 
function SetSource 函数里大概79行加上红框里的内容:

dedecmsCMS采集,dede无法采集端口不为80的网址错误解决

再测试一下。ok 了,这样网址就可以正常打开,采集到了。
 
付上代码:

$port=$urls['port']=='80'?'':':'.$urls['port'];//lyy 为80时候可以省略,否则就加上
$this->HomeUrl = $urls['host'].$port;

THE END
喜欢就支持一下吧
点赞0 分享