本地跨域问题
- 0次
- 2021-06-04 00:39:08
- idczone
需求:自己写了一个脚本,想在手机上用,类似 index抗投诉服务器.html,有 gui 。问题是浏览器安全策略导致所有跨域请求都发不出去。
目前只想到 2 个解决办法:
1 、自己写一个 native apk,绕过去
2 、下载一个低版本,或者可以自定义安全策略的浏览器
个人移动端浏览器可 diy 性好低,基本也装不了插件。看看有没有 dalao 有什么想法
你 2 个方法都避开了常规做法。
直接解决跨域问题就行了,如果请求站点在自己控制范围可以设置 Access-Control-Allow-Origin 头,如果是第三方站点可以在本地配置一个反代。
然而已经有了这么一个 app 叫 dorajs
1. nginx 添加反向代理
2. 了解一下 cors 策略
统一回复一下,后端服务不是自己的,抓的 api
户外使用,除非安卓端能起一个 nginx 或者类似 nginx 的本地代理转发。如果有这样的软件,辛苦分享一下
后端不是自己的话,只能做成 APP,或者用自己的服务器转发。
你的前端放在静态空间?
简单点,直接搞个 native,不要用网页。
直接用别人的 API 会不会被找上门?
搞成小程序,开发版把所有校验关掉就行了。
如果你没有服务器
1. 写一个 apk 。
2. 使用免费服务器,挂 https://github.com/Rob--W/cors-anywhere,可以 index.html 走接口解决跨域。
如果有服务器
那都不是问题。
楼主可以说明一下手上现有的资源。
只是单纯请求 api 接口,你直接用 Auto.js 之类的更方便。
https://www.npmjs.com/package/jsonp 起个服务器就可以
我有新式解法,跨域安全策略可以用浏览器插件 https://mybrowseraddon.com/access-control-allow-origin.html 解决
你可以写个简单的 html 页面配合这个插件就可以了
但这个插件只能在 PC 端使用,而你要在移动端使用那就需要 [代理] 了,绕不过去的
如果你没有云服务器作代理或者不愿意搞后端那堆东西,那就用你的 PC 前端页面做代理,这个时候 p2p 就上场了
需要用到 https://www.npmjs.com/package/dshell 分布式浏览器动作流框架,改造 html 页面跨域 fetch 逻辑封装成 action
移动端就可以通过 PC 端远程执行 action 获取数据了
已用 native 实现 ,此贴完结
感谢分享,拓展了视野
这个思路可以有,感谢分享