我看到了什么: http://www.dapper.net/dapp-factory.jsp Dapper好像已经解决了这个问题。您可以加载任何外部网站,并在其上运行JavaScript。我不知道这是怎么做的。他们使用代理,作为http://www.worldofwarcraft.com加载。 Worldofwarcraft.com将检测任何代理并阻止它(我已对此进行了测试)。
我正在使用的代理:
我的代理:
GET /ip/headers HTTP/1.1
Host: www.ioerror.us
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip
Connection: close
dapper proxy:
GET /ip/headers HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729) Dapper/0.6
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Host: www.ioerror.us
另一个无法加载worldofwarcraft.com的代理
GET /ip/headers HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
答案 0 :(得分:1)
您将始终被相同的原始政策屏蔽 - 如果您不是,那么创建“中间人”风格的网站使用整页iframe加载,比如说,您的银行会很容易。甚至您的www.dapper.net示例也使用代理 - 为www.worldofwarcraft.com创建的iframe为/ServerNavigator?factoryId=40042&namespace=top&url=http%3A%2F%2Fwww.worldofwarcraft.com
答案 1 :(得分:0)
这是对上一个问题的毫无意义的重复。您可能不想接受它,但是出于非常好的理由,不允许跨站点脚本到您无法控制的域中。
他们肯定没有使用代理
是的,他们是。自然地,要使相对链接(对脚本或其他资源)起作用,您必须解析页面并更改所有hrefs / srcs / etc,或者更容易添加/更改<base>
标记。 (Dapper做出了更多改变。)
代理永远不会是最快的,但如果您决定在自己的上下文中显示来自其他网站的内容,那么它就是城里唯一的游戏。您可以通过缓存来提高性能;事实上,不这样做是不礼貌的。如果Web服务器开始看到您的站点通过代理占用了大量带宽,则可能会阻止从您的IP访问。