/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
LightProxy是阿里旗下【xià】一款【kuǎn】稳定、高效的去全能代理抓包工具,它主要基于Whistle编写,可以自动完成证书安装和代理设置等【děng】,能够帮助广大的前段开发人员【yuán】精准掌握当【dāng】前【qián】开发环境。
抓包,包括无线场景抓包
实时 hosts 绑定
按规则转发资源
mock 接口,页面等
修【xiū】改请求和响应内【nèi】容,例如在页面中插入 script ,修改返回头等
稳定
好的开发环境首先【xiān】应该是稳定可用的,不应该【gāi】在开发测试的过程中频【pín】繁挂掉或者频繁发生【shēng】改变。
依赖于后端【duān】日常接【jiē】口进行调试【shì】的前端对这点应该深有体会,自己的问题还没解决,环境就时常带【dài】来新的问题。
快速验证
修改代【dài】码能够在【zài】尽可能短的时【shí】间【jiān】内得到验证也是一个基本诉求,这也是为什么大部分前端构建都会关注 Hot reload 和更高级的 HMR 。
有些场景下的修改一次简单的修改就要经【jīng】过长【zhǎng】时间的等待,例如依赖上游修改接口的返回内容,需要修【xiū】改后端的页面结构然后重新部署,需要走一遍【biàn】完整【zhěng】的发布流程来测试某个修改在真实【shí】的线上页面会产生的影响等等【děng】。
和线上的一致性
很多项目【mù】的【de】线上环境极为复杂,为了解决日【rì】常开发中的问题,也会有【yǒu】一个线【xiàn】下的 DEMO 页面,最后开发完再搬到线上。
这种方式相对来【lái】说较为稳定且能快速验证,但比较凸显的【de】问题在于和线上并不【bú】一致【zhì】。开发中会存在很多 if-else 的逻辑,例如最常见【jiàn】的:
const API_BASE = utils.isDaily ? 'http://localhost:7001:': 'https://xxxx/';
这种情况也往往导致 Bug 非常难以被定位,最后逼着开发者退化到在线上环境低效的进行 debug。
确定性
开发者对于当前的环境应该是有确切认知的,而不【bú】是一直不停的【de】怀疑自己的配置到底【dǐ】有没有生效,命中的是不是又【yòu】是缓存等等。
有些情况下我们利用 hosts 切换工具来进行联调,但在切完 hosts 后却又【yòu】不得不【bú】来回确认自己的切换是否生效,清楚【chǔ】 Chrome 的 DNS Cache,清楚 Socket 之类的。
这种非确定性不但提高【gāo】了开发者心智负担,而且也会导致 Bug 难以定位。
安装
打开 DMG 后,把 LightProxy 拖动到 Application 中
#启动
在应用【yòng】列表中启【qǐ】动 LightProxy ,第【dì】一次启动时 LightProxy 会询问两次密码,这是【shì】用于安装辅助程序和自动安装证书。
然后我们就【jiù】会看到如图的界面,默【mò】认规则中有一些规【guī】则是【shì】为了不影响日常的日用软件【jiàn】,例如 Apple Store 等,如果你确定要代理这些域名可以注释掉【diào】它们
网络抓包工具有哪些?有时候我们在平常上【shàng】网【wǎng】的【de】过程中,可能【néng】会发【fā】现网络突然出现问题,不能正常提供服【fú】务了,那么像这种问题到【dào】底是什么原因呢?其实在出现这种状况的时候,我们可以借助网络抓包工具进行【háng】分析。那么哪些网