【问题标题】:Curl php not loading website styleCurl php不加载网站样式
【发布时间】:2018-01-17 09:13:40
【问题描述】:

我使用下面的代码在我的网站上显示另一个网站

  $turl = $_GET['turl'];
  $ch = curl_init($turl);
  curl_setopt( $ch, CURLOPT_POST, false );
  curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
  curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; 
  en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
  curl_setopt( $ch, CURLOPT_HEADER, false );
  curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
  $data = curl_exec( $ch );

 echo $data;

但是当我尝试显示 facebook 或 youtube 时,结果看起来像 -

【问题讨论】:

  • 样式可能在某个 CSS 文件中。所以需要单独卷曲。 javascript 也可能位于单独的文件中。
  • 当然可以……在这些网站的任何地方使用的每个相对 URL 现在都被解析为指向 您的 域的绝对 URL。您必须首先找到所有这些相对 URL,并相应地修改它们。
  • 但是,即使您解决了这个问题,您也不应该期望这些网站能够像往常一样“工作”——因为所有依赖于 cookie 的功能当然也无法工作。
  • 你可以使用 iframe 代替
  • 在我的情况下,代码在本地服务器上运行良好

标签: php curl iframe


【解决方案1】:

因为curl 仅获取指定 url 的 html(源代码),并且我认为样式在服务器上是相对解决的(不是完整路径)。 这就是为什么没有找到样式的原因。 您还可以通过在每个浏览器上按 F12 来检查 google chrome 或 firefox 中的控制台并查看错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    • 2015-03-30
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多