从另一个网站加载网站不会加载CSS

时间:2018-09-17 08:09:58

标签: php curl

一个客户想要从他的网站加载我的网站功能,所以我正在创建一个使用curl加载我的网站的php脚本,将所有请求重定向到我的网站,但是如果html代码似乎正确加载并且css文件也,则不会加载CSS内部的样式。

我不明白为什么。

脚本:

<?php
$uri=preg_replace('#[^a-z0-9_?\./|=]#','',$_SERVER['REQUEST_URI']);

set_time_limit(3600);

$cs=curl_init();

curl_setopt($cs, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($cs, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($cs, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($cs, CURLOPT_COOKIEFILE, "../some.cookies");
curl_setopt($cs, CURLOPT_COOKIEJAR, "../some.cookies");

curl_setopt($cs, CURLOPT_HTTPGET, 1);
curl_setopt($cs, CURLOPT_ACCEPT_ENCODING, "gzip");

curl_setopt($cs, CURLOPT_URL, "https://mydomain.tld".$uri);

curl_setopt($cs, CURLOPT_POSTFIELDS, $_POST);
curl_setopt($cs, CURLOPT_POST, count($_POST)>0);

print curl_exec($cs);   

curl_close($cs);

1 个答案:

答案 0 :(得分:0)

必须添加MIME类型,这是工作代码:

set_time_limit(3600);

$cs=curl_init();

    curl_setopt($cs, CURLOPT_RETURNTRANSFER, 1);    
    curl_setopt($cs, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($cs, CURLOPT_SSL_VERIFYHOST, 0);

    curl_setopt($cs, CURLOPT_COOKIEFILE, "../some.cookies");
    curl_setopt($cs, CURLOPT_COOKIEJAR, "../some.cookies");

    curl_setopt($cs, CURLOPT_HTTPGET, 1);
    curl_setopt($cs, CURLOPT_ACCEPT_ENCODING, "gzip");

    curl_setopt($cs, CURLOPT_URL, "https://mydomain.tld".$uri);

    curl_setopt($cs, CURLOPT_POSTFIELDS, http_build_query($_POST));
    curl_setopt($cs, CURLOPT_POST, count($_POST)>0);

    $html=curl_exec($cs);   
    $mime=curl_getinfo($cs, CURLINFO_CONTENT_TYPE);

    header("Content-Type: $mime");
    print $html;

curl_close($cs);