Discuz!X 优化移除CURL中端口减少重定向,修复UC通信失败

DiscuzX 3.4 R20210119 最新版本中依旧存在UC通信失败的BUG,我们先来看一下,比如网站首页为:https://www.onexin.com,请求的网址分析如下:

// 请求的原网址:
https://www.onexin.com/api/uc.php?code=91886hSH3Hsu4SA4%2FxPw5Ga922SFGYpgC%2BuMZJXK85FJWiV8R%2BTZRu%2FUjQJ6dUSxjtYqkEm%2FkNo

// 导致通信失败的网址
https://www.onexin.com:443/api/uc.php?code=91886hSH3Hsu4SA4%2FxPw5Ga922SFGYpgC%2BuMZJXK85FJWiV8R%2BTZRu%2FUjQJ6dUSxjtYqkEm%2FkNo

由于CURL代码强制性切换为带端口的网址,此时CURL获取网址会发生重定向,从而导致UC通信失败。

因此,我们将代码请求的网址改为原网址即可。

哪些情况下会发现通信失败?
凡是会发生网址重定向的,UC都会通信失败。

解决方法如下:

打开uc_server/model/misc.php 文件:

查找:
curl_setopt($ch, CURLOPT_URL, $scheme.'://'.($ip ? $ip : $host).':'.$port.$path);
替换为:
curl_setopt($ch, CURLOPT_URL, $url);

随机文章:

1、实时切换网页的CSS样式实现
https://www.onexin.net/css-style-to-achieve-real-time-switching-pages/

2、Discuz!X同步好友到漫游应用
https://www.onexin.net/discuz-x-sync-friends-to-roaming-applications/

3、Magento语言批量在线翻译平台(原创)
https://www.onexin.net/magento-language-pack-volume-translator/

4、Discuz!Q 如何更改域名domain?
https://www.onexin.net/discuzq-domain/

5、Web前端开发必备工具[整理]
https://www.onexin.net/an-indispensable-tool-for-developing-web-front-end-finishing/

转载请注明出处:https://www.onexin.net/discuzx-curl-uc/

Leave a Reply

Your email address will not be published. Required fields are marked *