Javascript或JQuery从外部网站获取html内容

可能重复:
如何规避同源政策

无论如何从外部网站获取内容,例如我想通过使用Javascript或JQuery从客户端站点中的URL http://www.readwriteweb.com/获取内容

这有两个选择:

  1. 使用iframe在网页中嵌入外部网站的网页。 您只能嵌入整个页面,包括其所有广告和导航网站,但在某些外部网站上,您可以找到用于移动或打印的页面版本,这些版本在嵌入时可能看起来合理。
  2. 使用公共CORS代理。 我找到的唯一一个是http://www.corsproxy.com/ 。 我个人怀疑该网站,因为没有TOC,隐私政策,甚至没有任何关于谁运营网站的迹象。 但是,如果您的某个小项目,您不关心隐私,安全性,可靠性或扩展,您可能会尝试它。 以下是从网站改编的使用示例:

    $ .get(’http://www.corsproxy.com/en.wikipedia.org/wiki/Http’,function(response){document.body.innerHTML = response;});

除非将站点设置为允许跨源请求,否则出于安全原因,您无法访问其他站点的DOM。

这称为同源策略 。 如果您控制服务器, 有很多方法可以解决它 。

另一种选择是在服务器端自行提取数据,然后从域中将数据传送给客户端。

如果您的外部网站与您的网站不在同一个域中,那么我会建议您使用JSONP对象在不同域中的网站之间发送/接收。