如何获得使用JavaScript远程文件的内容?(How to get the content of

2019-07-02 11:33发布

我有一个远程页面,从中我要下载,解析和更新当前页面的DOM 不同的域的URL。 我发现这样做使用新的ActiveXObject(“MSXML2.XMLHTTP”)的例子,但是这仅限于IE浏览器,我猜,并使用新的java.net.URL,但我不希望使用Java。 是否有其它方法吗?

Answer 1:

同域策略是要得到你。

1)通过你的服务器代理。 浏览器的>你的服务器 - >于其服务器>您的服务器 - >浏览器。

2)使用Flash或Silverlight。 该第三方必须给你访问。 JavaScript和Flash之间的桥梁是不太适合大量的数据和有错误。 Silverlight是不是普遍存在的,如Flash ...

3)使用的标签。 这个真没有安全......只有当第三方内容是有效的JavaScript的作品。



Answer 2:

请告诉我有关负载通过AJAX的PHP脚本,做file_get_contents() 这应该适用于不同的领域。 如果我理解正确的。



Answer 3:

编写服务器端脚本将检索网页的内容对你来说是要走的路。 您可以使用XMLHttpRequest对象进行一个AJAX调用该脚本,这将只是通过所有的HTML(?)你把。

不过,我建议反对。 我不知道你到底多少信任其他网站,而是有原因的存在同源策略。 究竟是什么你想干什么? 通常情况下,有一种变通方法。



Answer 4:

我不认为你可以在此根据同源策略的限制做的。 两个通信使用I帧也可以利用JS代码域两者之间,但两个域必须将它们传达的代码。 子框架可以联系祖父母框架(窗口),但不是在这里。

既然你是指一些其他网址都togeather。

唯一的办法是使用服务器端代码来访问其他域的内容去做。



Answer 5:

只需使用PHP:

<?php
$url = "http://www.domaintoretrieve.com";

ob_start();
include_once( $url );

$html = ob_get_contents();
ob_end_clean();

?>

$ HTML包含了整个页面操作需要。



Answer 6:

该XMLHTTPRequest的对象是常见的大多数流行的浏览器,是什么力量AJAX的Web应用程序。



文章来源: How to get the content of a remote page with JavaScript?