Tags
实用技巧
Published
May 12, 2023
LightProxy对于开发后台应用来说,就是一个瑞士军刀。基于Whistle的它,可以支持各种网络的代理、修改。相对Charles,其更加的易用和简单。其官网文档地址不可访问,但配置可以参考 Whistle的文档。 本文记录一些日常使用的功能。
在iOS模拟器中连接LightProxy
iOS模拟器使用代理前提是安装 LightProxy的证书。由于LightProxy安装时,默认就安装了证书,因此一个可行的方式是,从Mac电脑导出证书,然后拖到模拟器中:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Faabed75b-52b0-4b42-b118-820aa68d5d4c%2FUntitled.png?table=block&id=5110e276-2059-4151-9015-64e256e2a000&t=5110e276-2059-4151-9015-64e256e2a000&width=336&cache=v2)
浏览器中访问Whistle
打开LightProxy后,会默认启动 Whistle,可以在浏览器中访问Whistle页面,当然也可以直接在 LightProxy 客户端访问。我习惯浏览器访问,可以更方便修改mock数据。
不出意外的话,应该会看到一个提示框,需要输入用户名和密码。看到这个是不是和我一样,有骂 xxx 的冲动,么事搞啥密码呀。
翻了一翻 LightProxy 源码,看见其帐号密码都是随机的 8 位字符串
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F9a171beb-02d5-443a-bb48-f3179317c6ad%2FUntitled.png?table=block&id=2e2c986d-084d-482f-857f-d9c93b6ee6af&t=2e2c986d-084d-482f-857f-d9c93b6ee6af&width=1180&cache=v2)
但可以通过下面方式获取
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fbdcb8b7f-6c3a-4016-8f9f-9a0dc69c2c0a%2FUntitled.png?table=block&id=72620497-495f-4f2c-8dbb-11eb7d36a68b&t=72620497-495f-4f2c-8dbb-11eb7d36a68b&width=888&cache=v2)
然后输入到浏览器中即可访问。
代理本地文件
Whistle
代理本地文件有三种方式:- 内联到规则里面(
pattern protocol://(value)
),value
不能有空格
- 直接存放到 Values(
pattern protocol://{key}
)
- 存放到本地文件或目录(
pattern protocol:///User/xxx
)
然而LightProxy不支持第一种内联方式,需要在
Whistle
中配置一下。推荐新增一个分组放本地代理的数据,每次修改LightProxy规则都会同步到 Default分组,最好不要直接修改该分组,容易被覆盖。![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F712aa1c6-1251-4e81-aee7-c792dc12d90a%2FUntitled.png?table=block&id=5ef0fdc5-a7b9-4977-bcfa-8702a7bdc13d&t=5ef0fdc5-a7b9-4977-bcfa-8702a7bdc13d&width=1760&cache=v2)
第二种放在 Values 的方式,配置为:
- LightProxy中配置一条规则:
- 新增一个 json 文件,右侧菜单
Whistle
→Values
,创建一个mock.json
文件,添加mock的数据
第三种类似,只需要改一下路径即可
之前不知道时,使用第二种方式多些,知道后使用第一种比较多些了,效率更高些。
跨域配置
本地开发时,经常需要访问一些其他域名的接口,但有不支持跨域访问时,这个时候LightProxy就很好用了。配置其实和代理本地文件类似,只是协议不一样,需要将
file
→ resHeaders
如果不需要携带Cookie,
access-control-allow-origin
可以设置为 *