本地跨域问题

2021-04-22 01:48:55 +08:00
 yukinotech
需求:自己写了一个脚本,想在手机上用,类似 index.html,有 gui 。问题是浏览器安全策略导致所有跨域请求都发不出去。

目前只想到 2 个解决办法:
1 、自己写一个 native apk,绕过去

2 、下载一个低版本,或者可以自定义安全策略的浏览器

个人移动端浏览器可 diy 性好低,基本也装不了插件。看看有没有 dalao 有什么想法
2176 次点击
所在节点    程序员
14 条回复
eason1874
2021-04-22 02:53:41 +08:00
你 2 个方法都避开了常规做法。

直接解决跨域问题就行了,如果请求站点在自己控制范围可以设置 Access-Control-Allow-Origin 头,如果是第三方站点可以在本地配置一个反代。
rain0002009
2021-04-22 08:42:29 +08:00
然而已经有了这么一个 app 叫 dorajs
5200
2021-04-22 09:34:17 +08:00
1. nginx 添加反向代理
2. 了解一下 cors 策略
yukinotech
2021-04-22 12:15:24 +08:00
@eason1874 统一回复一下,后端服务不是自己的,抓的 api
yukinotech
2021-04-22 12:24:49 +08:00
@5200 户外使用,除非安卓端能起一个 nginx 或者类似 nginx 的本地代理转发。如果有这样的软件,辛苦分享一下
DOLLOR
2021-04-22 14:25:06 +08:00
后端不是自己的话,只能做成 APP,或者用自己的服务器转发。
no1xsyzy
2021-04-22 15:50:19 +08:00
你的前端放在静态空间?
简单点,直接搞个 native,不要用网页。
直接用别人的 API 会不会被找上门?
fjc0k
2021-04-22 17:28:10 +08:00
搞成小程序,开发版把所有校验关掉就行了。
5200
2021-04-22 18:33:43 +08:00
如果你没有服务器
1. 写一个 apk 。
2. 使用免费服务器,挂 https://github.com/Rob--W/cors-anywhere,可以 index.html 走接口解决跨域。
如果有服务器
那都不是问题。

楼主可以说明一下手上现有的资源。
只是单纯请求 api 接口,你直接用 Auto.js 之类的更方便。
longgediyi999
2021-04-23 14:26:47 +08:00
https://www.npmjs.com/package/jsonp 起个服务器就可以
SmiteChow
2021-04-23 15:48:49 +08:00
我有新式解法,跨域安全策略可以用浏览器插件 https://mybrowseraddon.com/access-control-allow-origin.html 解决

你可以写个简单的 html 页面配合这个插件就可以了

但这个插件只能在 PC 端使用,而你要在移动端使用那就需要 [代理] 了,绕不过去的

如果你没有云服务器作代理或者不愿意搞后端那堆东西,那就用你的 PC 前端页面做代理,这个时候 p2p 就上场了

需要用到 https://www.npmjs.com/package/dshell 分布式浏览器动作流框架,改造 html 页面跨域 fetch 逻辑封装成 action

移动端就可以通过 PC 端远程执行 action 获取数据了
yukinotech
2021-04-30 18:16:52 +08:00
已用 native 实现 ,此贴完结
yukinotech
2021-04-30 18:19:11 +08:00
@SmiteChow 感谢分享,拓展了视野
yukinotech
2021-04-30 18:22:36 +08:00
@fjc0k 这个思路可以有,感谢分享

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

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

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

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

© 2021 V2EX