2010-04-06 79 views
0

我基本上想要做的是从网站获取内容并将其加载到另一个网站的div中。到目前为止,这应该不成问题。 问题是,应该提取的内容位于不同的服务器上,我没有源访问权限。在另一台服务器上从网站获取内容

我更喜欢使用jQuery的JavaScript解决方案。 我可以使用.htacces重定向从客户端(js)技术中从远程服务器获取内容吗?

我也将与其他解决方案。 非常感谢!

+0

您可能想要查看屏幕抓取。 :) – 2010-04-06 20:47:02

+0

那么,你不能使用PHP file_get_contents?你可以从JQuery调用一个PHP脚本,它返回HTML – Ben 2010-04-06 21:11:50

回答

3

您无法对不同的域执行AJAX调用,由于同源策略。您可以可以添加一个<script>标记到指向另一个域上的Javascript文件的DOM。如果这个JS文件包含一些您可以使用的JSON数据,那么您已经设置好了。

唯一的问题是你需要得到在某种程度上JSON数据,这是JSON-P回调进入图片。如果外部资源支持JSON-P,它会给你的东西,看起来像

your_callback({ // JSON data }); 

然后,您可以指定回调你的代码。

更多见JSONP

如果JSONP是不是一种选择,那么最好的办法是可能获取数据的服务器端,说每几分钟cron作业,并在本地存储它自己的网站上。

1

您可以使用服务器端 XMLHTTP请求从其他服务器获取您的内容。然后,您可以将其解析到您的服务器上(A.K.A屏幕抓取),并随您的网页提供您想要的部分。

0

如果从其他网站上的内容仅仅是要显示在您的网站的HTML文档,你也可以使用iframe来拉它,你不会有任何的浏览器,因为内容的访问安全规则。

+0

它的HTML文档的一部分。 – ngmir 2010-04-07 11:40:38

0

您可能将不得不“刮”您所需要的数据,并存储在服务器上。

这是一个关于如何从外部站点缓存数据的great tutorial。它实际上是为了获取和存储XML而编写的,因此需要进行一些修改。此外,如果您的网站不允许file_get_contents,那么您可能需要修改它以使用cUrl

相关问题