关于AnyProxy

AnyProxy流程图.png-99.6kB

  • 简要描述
    当http请求经过代理服务器时,具体处理过程是:

  • 收集请求所有请求参数,包括method, header, body等

  • AnyProxy调用规则模块beforeSendRequest方法,由模块做处理,返回新的请求参数,或返回响应内容

  • 如果beforeSendRequest返回了响应内容,则立即把此响应返回到客户端(而不再发送到真正的服务端),流程结束。

  • 根据请求参数,向服务端发出请求,接收服务端响应。

  • 调用规则模块beforeSendResponse方法,由模块对响应内容进行处理

  • 把响应信息返回给客户端
    当代理服务器收到https请求时,AnyProxy可以替换证书,对请求做明文解析。

  • 调用规则模块beforeDealHttpsRequest方法,如果返回true,会明文解析这个请求,其他请求不处理

  • 被明文解析后的https请求,处理流程同http一致。未明文解析请求不会再进入规则模块做处理。

如何使用AnyProxy

  • 安装AnyProxy
npm install -g anyproxy@beta
  • 安装证书,明文显示https响应
anyproxy-ca #生成rootCA证书,生成后需要手动信任

运行之后,Windosws生成rootCA.crt证书,位于C:\Users\Administrator\.anyproxy\certificates
Mac(Linux)生成rootCA.key位于~/.anyproxy/certificate 下
双击对应的证书来导入和信任证书

anyproxy --intercept 
  • 手机连接,设置代理
    手机WiFi和电脑网络在同一局域网内,修改WiFi网络,设置代理为手动,主机名为电脑ip,端口8001

  • 手机安装ca证书
    手机浏览器直接访问 http://<HOST_IP>:8002/fetchCrtFile
    下载之后点击信任

通过AnyProxy抓取搜狐汽车在售车型

  • 通过三个界面抓取品牌,车型,在售年款的https接口
  • 通过监听界面

微信截图_20180322142811.png-46.6kB

  • 获取相对应的接口
https://app.auto.sohu.com/api/car/brands

https://app.auto.sohu.com/api/car/brands/211/models

https://app.auto.sohu.com/api/car/models/5130/trims/onsale?cityCode=110000
posted on 2018-03-22 14:50  玩蛇的  阅读(805)  评论(0编辑  收藏  举报