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

时间:2012-08-03 03:16:07

标签: javascript jquery service client

  

可能重复:
  Ways to circumvent the same-origin policy

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

3 个答案:

答案 0 :(得分:2)

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

这被称为Same origin policy。如果您控制服务器,则有a number of ways around it

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

答案 1 :(得分:1)

以下是两个选项:

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

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

答案 2 :(得分:0)

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