如何通过我的网络服务器创建使用 php 作为代理的外部站点 iframe?(避免 CORS)



我找到了一个在 php 中使用 curl 的例子,这是我到目前为止所做的:

索引.html:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<iframe src="fetch.php" width="800" height="500"></iframe>
</body>
</html>

获取.php:

    ini_set ( "allow_url_fopen", "On" );
    $url = "http://www.google.com/";
    $ch = curl_init ();
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    $data = curl_exec ( $ch );
    curl_close ( $ch );
    echo $data;

这将显示:https://i.stack.imgur.com/7l4b1.jpg

问题:

  1. 如何让它在我的 iframe 中显示图像和数据?(当前为404错误,因为它尝试在我的Web服务器上查找图像)

  2. 我如何能够在这个 iframe 中导航?例如,如果我在谷歌上搜索该iframe,我会得到:https://i.stack.imgur.com/EjWm8.jpg

您的代码所做的是在给定的 url 下载页面源代码(在本例中为 ' http://www.google.com/ ')。这实际上与转到网页,单击"查看源代码"并复制/粘贴源代码相同。

如果您希望保留页面的原始外观以及在 iframe 中导航的能力,那么您不需要 cURL,您只需要将 iframe 指向该页面即可。

请注意,它不适用于 www.google.com,因为它在响应中发送"X-Frame-Options: SAMEORIGIN"标头,阻止iframe包含,至少在兼容的浏览器中是这样。

相关内容

  • 没有找到相关文章

最新更新