Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 网站设置https之后,UC通信失败,请问怎么处理

[复制链接]
821661386 发表于 2017-1-7 15:57:29 | 显示全部楼层 |阅读模式
网站设置https,DZ程序里需要改的两个文件都已经修改了,可是还是显示通信失败。
我心枫叶 发表于 2017-1-7 21:18:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

leonlaiminwang 发表于 2017-2-14 22:50:35 | 显示全部楼层
.htaccess 设置成这样会有这种问题:

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

如果拿掉又无法自动转向https,鱼与熊掌不可兼得。
回复

使用道具 举报

qq464740 发表于 2017-2-15 07:49:46 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

leonlaiminwang 发表于 2017-2-15 10:06:19 | 显示全部楼层
找到解决方法了,既可以强制https,又不会通信失败。

https://www.weizhushou.net/2764.html

方法我也是谷歌搜的,亲自试过了,没问题。

/public_html/uc_server/model/misc.php

加中间红色的那一段,从 if(substr($url,0,5)=='https' 到 return curl_exec($ch); }:

如果有什么问题或副作用请发电邮给我:leonlaiminwang@hotmail.com

或加我微信:leonlaiminwang

我也不想我自己的网站有什么问题,谢谢。


    function dfopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE    , $ip = '', $timeout = 15, $block = TRUE, $encodetype  = 'URLENCODE') {
        $return = '';
        $matches = parse_url($url);
        $scheme = $matches['scheme'];
        $host = $matches['host'];
        $path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/';
        $port = !empty($matches['port']) ? $matches['port'] : 80;

                if(substr($url,0,5)=='https'){
                            $ch = curl_init($url);
                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                            if($post){
                                    curl_setopt($ch, CURLOPT_POST, 1);
                                    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                            }
                            if($cookie){
                                    curl_setopt($ch, CURLOPT_COOKIE, $cookie);
                            }
                            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
                            return curl_exec($ch);
                    }


        if($post) {
            $out = "OST $path HTTP/1.0\r\n";
            $header = "Accept: */*\r\n";
            $header .= "Accept-Language: zh-cn\r\n";
            $boundary = $encodetype == 'URLENCODE' ? '' : ';'.substr($post, 0, trim(strpos($post, "\n")));
            $header .= $encodetype == 'URLENCODE' ? "Content-Type: application/x-www-form-urlencoded\r\n" : "Content-Type: multipart/form-data$boundary\r\n";
            $header .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";
            $header .= "Host: $hostport\r\n";
            $header .= 'Content-Length: '.strlen($post)."\r\n";
            $header .= "Connection: Close\r\n";
            $header .= "Cache-Control: no-cache\r\n";
            $header .= "Cookie: $cookie\r\n\r\n";
            $out .= $header.$post;
回复

使用道具 举报

ggadmsn 发表于 2017-3-10 17:24:46 | 显示全部楼层
回复

使用道具 举报

爱搜街 发表于 2020-2-12 14:50:40 | 显示全部楼层
打开目录 uc_server/model/misc.php 文件;
$port = !empty($matches['port']) ? $matches['port'] : 80;
68行处  后面加入以下代码
if(substr($url,0,5)=='https'){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if($post){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if($cookie){
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
return curl_exec($ch);
}
回复

使用道具 举报

sduyanjie1 发表于 2020-2-22 18:17:43 | 显示全部楼层
不顶用啊,加了之后打不开UC通讯页面了……
回复

使用道具 举报

59id 发表于 2020-2-22 20:56:23 | 显示全部楼层
本帖最后由 59id 于 2020-2-22 20:57 编辑
sduyanjie1 发表于 2020-2-22 18:17
不顶用啊,加了之后打不开UC通讯页面了……

https://www.59idw.net/thread-60650-1-1.html 看这个方法 亲测有效 (注意加的位置 保存编码不要错)
我们站也是https
回复

使用道具 举报

IsaacZ 发表于 2020-7-18 14:47:41 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-24 16:21 , Processed in 0.033824 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表