anyproxy代理入门

Anyproxy是阿里巴巴前端团队开源的一款基于Node.js的HTTP/HTTPS代理服务器。它提供了跨平台支持及友好的Web界面来观测网络请求,同时具备强大的自定义功能以进行数据模拟等操作。本文档介绍了Anyproxy的安装、启动流程、证书配置方法以及如何通过编写规则文件来实现请求/响应的拦截。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于anyproxy

Anyproxy 是alibaba 前端团队开源的http/https 基于node的代理服务器。

业界的http代理工具在windows下有fiddler,mac有charles,为什么选择anyproxy呢?我个人认为有以下几个点:

  • 同时兼容mac/windows用户
  • 提供友好的web版界面,可实时观测网络请求
  • 基于nodeJS开发,开放接口,允许用户进行充分的自定义进行数据mock等操作,更符合我们的操作习惯

简单的使用操作

// 安装anyproxy
npm install -g anyproxy

// 启动
anyproxy
// 默认端口号8001
// 访问http://127.0.0.1:8002,web界面上能看到所有的请求信息

// 若需抓取https请求,需生成证书
// 生成证书
anyproxy-ca  
// 启动AnyProxy,并解析所有https请求
anyproxy --intercept  

手机需要手动添加信任,举例iOS安装证书。如下图,点击web ui中的 Root CA,按提示扫描二维码安装。

image

iOS >= 10.3信任CA证书除了上述证书安装过程,还需要在 设置->通用->关于本机->证书信任设置 中把AnyProxy证书的开关打开,否则默认是关闭的。

image

rule文档的使用

对于前端工程师来说,使用代码最重要的一个用途就是拦截请求/响应,在客户端与服务端都无感知的情况下更改调试脚本、修改响应头内容等。anyproxy提供的配置还是很灵活的,它提供的一个典型的规则模块代码结构如下:

// rule.js
module.exports = {
  // 模块介绍
  summary: 'my customized rule for AnyProxy',
  // 发送请求前拦截处理
  *beforeSendRequest(requestDetail) { /* ... */ },
  // 发送响应前处理
  *beforeSendResponse(requestDetail, responseDetail) { /* ... */ },
  // 是否处理https请求
  *beforeDealHttpsRequest(requestDetail) { /* ... */ },
  // 请求出错的事件
  *onError(requestDetail, error) { /* ... */ },
  // https连接服务器出错
  *onConnectError(requestDetail, error) { /* ... */ }
};

调用 anyproxy --rule rule.js 即可。

Anyproxy的官网文档 写得非常详细,使用也很简单,有兴趣的童鞋可以去看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值