外部网页的HTML源代码为字符串
HTML source code of external webpage as string
我的网站上的用户将在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请求
- 然后向用户显示源代码
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 用PHP读取另一个网站的源代码,并将其作为字符串提供给JavaScript
- 将函数源代码转换为 NodeJS/JavaScript 中的字符串
- 以字符串形式获取HTML源代码
- 需要一种方法来提取字符串常量从源代码
- 字符串在源代码的新行中中断,而不是在浏览器中
- 外部网页的HTML源代码为字符串
- JavaScript回调不使用来自Android源代码的长字符串进行调用
- PhantomJS传递HTML字符串并返回页面源代码