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);

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

随机文章:

1、cn域名信息核验专项服务通道
https://www.onexin.net/cn-domain-name-verification-special-service-channel-information/

2、php中的$_SERVER数组变量
https://www.onexin.net/php%e4%b8%ad%e7%9a%84_server%e6%95%b0%e7%bb%84%e5%8f%98%e9%87%8f/

3、supesite远程图片本地化并作为文章附件
https://www.onexin.net/supesite-remote-image-localization-and-as-a-post-attachments/

4、[个人潜能3A]人们要的是什么,你又如何得到
https://www.onexin.net/personal-potentials-3a-people-to-what-it-is-and-how-you-get/

5、你能准确回答运算符的优先级吗?
https://www.onexin.net/java-operator/

Leave a Reply