昨天提问,碰一鼻子灰,现在真心重新求教:不依靠后端,浏览器端能不能抓其他网站的内容?

2017-03-19 18:35:45 +08:00
 wanttte
昨天的问题链接: https://www.v2ex.com/t/34852

可以不看昨天的问题链接,问题重新描述如下:
A 网站有 api ,但不支持跨域。 B 网站想在浏览器端,调用这个 api ,在不靠后端支持的情况下,如何能做到?

为什么会问这个问题:
最近 google 的 pwa 很火, google 号称要给予 native 同等的地位,很多人说这将颠覆 native 等等,于是就有了这个问题。

如果是写 native 应用当然没有跨域问题,用 request 想抓什么就抓什么。
但如果现在写一个 pwa 应用,就是 android 的 chrome 浏览器可以把应用放到手机桌面的,像原生应用那样有个图标。那么这个 web 应用就很受限制了,比如我想写个爬虫之类的, native 可以做得到,但 web 做不到,没法跨域。
4749 次点击
所在节点    问与答
49 条回复
wanttte
2017-03-20 19:06:00 +08:00
@xialdj 是的,我就是觉得这是个问题。天天都在讲跨域,就好像老在想怎么越狱,就不想想能不能把这个监狱去掉,还不影响安全。
as463419014
2017-03-20 19:21:51 +08:00
你看到一个美女,但是还想看她的裸体
然后发了个帖子问大家:怎么才能看美女的裸体呢,我可以上去把她的衣服扒了吗

大家的回答是:你要看别人裸体是可以的,但是得让美女同意,自己脱了衣服给你看才行
你不能自己上去扒别人衣服!!!
Exin
2017-03-20 20:37:39 +08:00
像是 Electron 做出来的产品是不是就是楼主要的结果?它的运作方式接近传统网页,又没有所谓的跨域限制(比如你可以写一个请求各种 API 的 Electron 作品)。
再比如 postman(它应该不是 electron 做的吧),作为一个 Chrome App ,功能是 API 调试,它是不是受惠于 Chrome 的应用环境也已经绕开了跨域问题?

感觉楼主纠结于“网页只能有一种标准”上了,传统 Web 和新型 Web 应用都会有的。
CannotGetPoint
2017-03-20 20:48:19 +08:00
都惊动大神 binux 了,我想我应该出来打下 tag
lecher
2017-03-20 21:16:08 +08:00
话说楼主一直提 native 在抓取各种数据聚合上面多么多么方便,恐怕不知道马化腾已经在人大提交过打击聚合类 app 的提案,并且很多手握版权的公司都在合力起诉那些聚合类 app 的持有者,以侵权为起诉理由,颇有抓住一个就往死里揍的阵势吧。
任何一个做原创内容的公司,都非常讨厌侵权这种事情,转载过去就算了,直接构造请求一点成本不出就占用服务器资源,这种做法等于在抢钱吧。

类似愿意开放资源访问的,通常都在 get 接口上面开放,哪怕是 POST 或者 PUT 的业务,只要按照其文档提交的请求,都能拿到相关的资源。根本不存在楼主说的有意愿开放访问但是受限于浏览器限制没有办法开放的情况。浏览器不能构造任何请求不是行业的业务痛点,反而是浏览器这个领域保护用户的重要优点。
楼主发的这个话题,更像是一种泄愤,为什么浏览器不能让我想盗取什么就盗取资源。我在 native 上面盗用起来何其方便,在浏览器上面怎么就这么难,这浏览器是不是要死要死了。
yimity
2017-03-20 21:39:07 +08:00
是否可以 iframe 搞一发,然后 window. 来搞。
wanttte
2017-03-20 23:59:27 +08:00
@lecher
1. 你这话应该对搜索引擎去说;
2. 技术和到的绑定毫无意义;
3. 你看看我提供的那个 okcoin 的 api 再说。
4. 我可没有抱怨浏览器要死了,相反我觉得他未来会更强大。
julyclyde
2017-03-21 07:32:27 +08:00
大部分回答都是颠倒因果的
是因为保护而不能
不是因为不能而保护
wizardforcel
2017-03-21 09:02:55 +08:00
浏览器的扩展应用可以跨域。

完毕。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348639

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX