外部网页的HTML源代码为字符串

HTML source code of external webpage as string

本文关键字:字符串 源代码 HTML 网页 外部      更新时间:2023-09-26

我的网站上的用户将在textbox中输入url(另一个域上的公共页面)。我想以字符串的形式获取该页面的HTML源代码。如何使用客户端脚本实现这一点?

以下是我加载url的操作。但不知道如何获取html。

<!DOCTYPE html>
<head>
<script>
function myFunction()
{
document.getElementById("site").src=document.getElementById("web").value;
}
</script>
</head>
<body> 
<input id="web" type="text" name="user">
<input type="submit" value="Submit"  onclick="myFunction()"> <br/>
<iframe id="site" src="" width="1200" height="1200"></iframe>
</body>
</html>

在服务器上创建一个脚本,并使用AJAX调用它,然后像这样使用cURL

 $ch = curl_init();
 $timeout = 10;
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
 $data = curl_exec($ch);
 curl_close($ch);

$data将包含这些内容。

由于同源政策,恐怕您网站上的javascript无法访问其他网站的源代码。这是为了防止跨站点脚本攻击。例如,如果用户已登录其电子邮件帐户,则同源策略会阻止在同一浏览器中打开的其他网站尝试访问您的电子邮件。

你最好的选择是:

  • 通过AJAX将url发送到您的应用程序服务器
  • 从应用程序服务器执行HTTP GET(使用Java/PHP等)
  • 用其他网站的文本回复AJAX请求
  • 然后向用户显示源代码