加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 需要通过https加载http js和css – 得到mix_content错误

发布时间:2020-12-13 22:28:09 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试在https网站的iframe中加载http网站.我知道它会给js和css带来mixed_content错误,所以为了解决mixed_content我使用的代理如下: $url = "http://www.myweb.com";$PROXY_HOST = "47.52.24.117"; // Proxy server address$PROXY_PORT = "80"; // Prox
我正在尝试在https网站的iframe中加载http网站.我知道它会给js和css带来mixed_content错误,所以为了解决mixed_content我使用的代理如下:

$url = "http://www.myweb.com";
$PROXY_HOST = "47.52.24.117"; // Proxy server address
$PROXY_PORT = "80";    // Proxy server port
$PROXY_USER = "";    // Username
$PROXY_PASS = "";   // Password
// Username and Password are required only if your proxy server needs basic authentication

$auth = base64_encode("$PROXY_USER:$PROXY_PASS");
stream_context_set_default(
 array(
  'http' => array(
    'method'=>"GET",'proxy' => "tcp://$PROXY_HOST:$PROXY_PORT",'request_fulluri' => true,'header' => "Proxy-Authorization: Basic $auth"
   // Remove the 'header' option if proxy authentication is not required
  )
 )
);
$res = file_get_contents($url);
echo $res;

但我仍然得到js和css的mixed_content错误. (图片和HTML内容在https下正常加载).

解决方法

这主要是评论 – 但评论框中的空间仅限于此处.

首先,您没有提到您正在使用的浏览器. MSIE可以针对一些非混合内容的事情抛出此错误.如果您使用的是MSIE,您可以尝试使用其他浏览器,看看问题是否是Microsoft的怪癖之一,或者问题是否真的出现在您的代码中.

当你说“喜欢下面”时,我希望这不是你用来从远程站点检索内容的代码,因为你在这里对URL进行了硬编码.我将通过前端控制器,mod_rewrite或404处理程序处理,您没有告诉我们,您已经验证了代理脚本正在正确翻译的URL /提供的内容是你期望什么,并清除你的测试之间的缓存….

您是否检查过您下载的脚本和CSS不包含指向http:// URL的URL?

您向我们展示的代码还有一个问题,即它不会检查/传递mimetype.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读