一个客户想要从他的网站加载我的网站功能,所以我正在创建一个使用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);
答案 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);