【问题标题】:cURL get page content like iframecURL 获取页面内容,如 iframe
【发布时间】:2016-10-10 17:40:12
【问题描述】:

我想使用 cURL 获取页面内容,但是当我得到它时页面 css 样式没有正确加载,我不知道为什么。

error_reporting(E_ALL);
ini_set('display_errors', 1);

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL,"http://some-page.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
echo $result;

第二件事是,我是否可以像通过 iframe 获取页面一样使用 cURL 完整工作页面?目前所有链接都被重写,所以当我想去子页面时它不起作用。

【问题讨论】:

    标签: php curl iframe file-get-contents


    【解决方案1】:

    CSS(可能还有一些 Javascript)无法加载,因为它们使用了对您的域没有任何意义的绝对或相对路径。

    您要么需要在 cURL 响应中找到所有这些链接,然后用域上的有效 URL 替换它们(并且可能重写常规 HTML 链接和其他资产)。

    您最好的选择可能是将 Apache 配置为反向代理,这样它就会为您完成所有这些工作。见ProxyPass

    【讨论】:

    • 我无法访问 Apache,因为它位于共享主机上,您能给我一些提示吗?如何以其他方式做到这一点?
    • 我在这个话题中找到了答案:stackoverflow.com/questions/6615971/… Solved :)
    猜你喜欢
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 2011-07-11
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    相关资源
    最近更新 更多