Levix 空间站
920 subscribers
219 photos
11 videos
20 files
1.38K links
主要分享前端、AI 以及前沿科技资讯。

🚫 禁止人身攻击:请在评论区保持尊重和友好,避免不当言论和负面互动。

🚫 禁止违规内容:请勿发布任何黄赌毒、宗教极端、政治敏感或其他违反社区规定的内容。
主要分享前端以及业界科技资讯。

🚫 禁止广告与刷屏:为了维护良好的交流环境,请不要进行任何形式的广告推广、黑产活动、刷屏行为及发布不适内容。

🔒 保护个人信息:请注意个人隐私和网络安全,不要在评论区泄露个人信息或点击不明链接。
Download Telegram
许多程序员都会使用某种抓包代理工具。一种集成在 Web 应用中的代理工具,具有以下特点:零安装、零配置、点击即用、分享 URL 链接或二维码进行远程 HTTP 调试、无需手动导入导出即可共享代理配置。

一位前端开发者在后端接口未准备好时,可通过这个方案让产品或设计师远程体验效果,只需要发送一个 URL 链接即可。

代理服务与应用(网页或 APP)集成,大幅降低了使用成本。通过集成对应的 SDK,自动转发请求到代理服务。主要优点除了易于使用外,还降低了如下成本:安装代理程序、配置系统代理和 HTTPS 证书、共享代理规则等。

方案原理概览:包括与应用集成(请求转发到代理服务),代理服务提供网络调试界面 UI、记录请求并同步到 UI、根据 Mock 规则篡改请求内容。

应用集成:通过 SDK 注入来转发业务请求到代理服务,包括自动注入 SDK 或手动注入 SDK 两种方式。

拦截转发请求:SDK 拦截后根据 URL Query 参数是否启动转发。拦截主要由重写 fetch, xhr, WebSocket 等对象完成。

移动端 APP 支持:通过注册拦截器和特制二维码进行联动,实现移动端支持。

HTTP 请求变换协议:SDK 拦截 HTTP 请求转到代理服务,然后代理服务去除 URL 中的前缀和 Header,恢复原始请求再发给目标服务。

代理服务与 UI 交互:使用 WebSocket 进行数据同步,包括抓包记录、Mock 规则、资源等。

抓包:允许远程调试,传统的工具相对复杂,这种方案更自然地实现远程调试。

Mock 规则:代理服务可以应用 Mock 规则来篡改请求和响应内容,规则借鉴了 whistle 并简化,提供 UI 方便配置。

数据存储:数据存储在浏览器的 indexedDB 中,代理服务只是临时维护数据状态,方便部署和扩展。

缺点:需要部署和维护代理服务、有一定的侵入性(不是完全透明的中间节点)、不具备通用性。

总结:这种方案的目的是提高特定应用网络调试的体验和效率,适合有一定团队规模的情况。

#HTTP #代理

https://hughfenghen.github.io/posts/2024/05/08/ff-proxy/
Hurl 是由 Orange-OpenSource 团队开发的一款命令行工具,能够运行在简单纯文本格式中定义的 HTTP 请求。它支持链式请求、捕获值以及在响应头和响应体中执行查询,适用于获取数据和测试 HTTP 会话,支持 HTML 内容、REST / SOAP / GraphQL API 以及基于 XML / JSON 的 API。

#HTTP #CLI

https://github.com/Orange-OpenSource/hurl