全方位站长技能、SEO优化学习平台
当前位置:网站首页 > Discuz笔记 > 正文

dz蜘蛛统计插件:蜘蛛爬取记录http带443端口的页面

作者:admin发布时间:2023-09-11分类:Discuz笔记浏览:241


温馨提示:手机扫码可阅读当前文章!
文章简介:以前遇到一个问题,在使用dz蜘蛛统计插件的时候,蜘蛛爬取记录http带443端口的页面而不直接爬取https。一直以为是宝塔的原因,以为是宝塔没有告诉蜘蛛本站启用的是443ssl端口,使用https协议直接访问的,还跑去宝塔求助。其实这是一...

以前遇到一个问题,在使用dz蜘蛛统计插件的时候,蜘蛛爬取记录http带443端口的页面而不直接爬取https。


dz蜘蛛统计插件:蜘蛛爬取记录http带443端口的页面

一直以为是宝塔的原因,以为是宝塔没有告诉蜘蛛本站启用的是443ssl端口,使用https协议直接访问的,还跑去宝塔求助。其实这是一个乌龙。 那么问题来了:为什么蜘蛛爬取http带443端口的页面而不直接爬取https?其实并不是,只是插件代码的问题,插件是在组装URL链接的时候的一个毛病。就是80端口采用http协议组装URL,但是开启https的网站使用的是443端口,当不是80端口的时候,代码默认将端口号添加进了URL里。


百度:http://www.cjwl8.cn:443/bbssub_49_1_1.html
谷歌:http://www.cjwl8.cn:443/bbssub_50_1_1.html
...............
正常的应该是:
百度:https://www.cjwl8.cn/bbssub_49_1_1.html
谷歌:https://www.cjwl8.cn/bbssub_50_1_1.html
我们点击插件记录里的前面带:443端口的链接,出现以下提示:

Bad Request
Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.
Apache Server at SSL.old.wensha.info Port 80
这里我使用的是宝塔软件!
插件相关代码:

                              $port  = $_SERVER["SERVER_PORT"];//端口
                $useragent        = strtolower($_SERVER['HTTP_USER_AGENT']);//userAGENT
                $url                = "http://".$_SERVER["SERVER_NAME"];
                if ($port=="443"){
                $url                = "https://".$_SERVER["SERVER_NAME"];
                }

这里在插件里增加了一个判断,判断是不是443端口,是443端口则把URL格式改为https://....的格式就可以了、


欢迎您,来自美国的朋友,您的IP:3.139.83.199,您的网络:Amazon_EC2服务器


Discuz笔记排行
随机推荐
猜你喜欢

服务热线

1888888888

要发发发发发发

站长微信公众号

站长微信公众号

分享:

支付宝

微信