我网站上的用户将在textbox
中输入网址(另一个网域上的公开网页)。我想以字符串形式获取页面的HTML源代码。如何使用客户端脚本执行此操作?
以下是我加载网址的方法。但无法弄清楚如何获取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>
答案 0 :(得分:3)
在您的服务器上创建一个脚本,并使用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
将包含内容。
答案 1 :(得分:2)
由于Same Origin Policy,我担心您网站上的javascript无法访问其他网站的源代码。这是为了防止Cross Site Scripting攻击。例如,如果用户已登录其电子邮件帐户,则同源策略会阻止在同一浏览器中打开的其他网站尝试访问您的电子邮件。
你最好的选择是: