web调试代理工具Whistle

由于最近在学习微信小程序开发,项目中用到了https代理请求,所以用到了基于Node实现的跨平台web调试代理工具Whistle,在此做一记录。

完成https代理请求总共需要5个步骤。

一、安装Node.js

下载地址:

https://nodejs.org/en/

下载长期支持版:LTS版本

下载后按步骤进行安装,安装完成后打开cmd命令窗口,执行

$ node -v

查看版本号,如果出现版本号即安装正确。

v8.11.1

二、安装并启动Whistle

1.安装Whistle

打开cmd命令窗口,执行

$ npm install -g whistle

npm默认镜像是在国外,有时候安装速度很慢或者出现安装不了的情况,如果无法安装或者安装很慢,可以使用taobao的镜像安装:

$ npm install cnpm -g --registry=https://registry.npm.taobao.org
$ cnpm install -g whistle

或者直接指定镜像安装:

$ npm install whistle -g --registry=https://registry.npm.taobao.org

2.启动Whistle

在cmd命令窗口中执行启动命令:

w2 start

停止命令:

w2 stop

重启命令:

w2 restart

3.访问Whistle,访问网址:

127.0.0.1:8899

三、配置代理

打开控制面板-->网络和 Internet-->Internet 选项-->连接-->局域网设置

勾选 为LAN使用代理服务器

地址(E): 127.0.0.1 端口(T): 8899

然后确定配置。

如下图:


此时就可以配置http请求转发了

1.打开whistle网页(127.0.0.1:8899)

2.在Rules规则中有一个默认的Default窗口,在此可以配置转发请求

www.myurl.com 127.0.0.1:8080

这样访问www.myurl.com就会访问127.0.0.1:8080这个地址

如果不在Default窗口配置,也可以自己新建一个,点击Create创建

这样只能代理非https请求 如果想代理https请求还得下载https安全证书

四、下载https安全证书

点击whistle网页上的HTTPS,会出现一个二维码,在二维码上方有一个Download RootCA,点击下载,在二维码下方有一个Capture HTTPS CONNECTs单选框,勾选表明拦截HTTPS请求。如图:


htpps安全证书下载好以后,打开 -->安装证书-->将所有的证书放入下列存储-->受信任的根证书颁发机构。如下图:


下载安装完成以后得重新配置转发请求。

五、配置请求转发

如果配置成:

https://www.myurl.com 127.0.0.1:8080

会报下面的错误

From: [email protected]
Node: v8.11.1
Date: 2018-5-4 09:31:21
Error: write EPROTO 101057795:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:827:

at _errnoException (util.js:1022:11)
at WriteWrap.afterWrite [as oncomplete] (net.js:880:14)

是因为没办法用https请求去访问http服务器,改成下面的配置就OK

www.myurl.com 127.0.0.1:8080 http://www.myurl.com

这样访问https://www.myurl.com 就可以访问127.0.0.1:8080这个地址了。

记得开启拦截HTTPS:勾选 Capture HTTPS CONNECTs

点击Network可以查看请求信息,如下图:


这只是Whistle的冰山一角,了解更多功能请访问:

http://wproxy.org/whistle/

更多博客内容详见我的博客 Wang's Blog

猜你喜欢

转载自blog.csdn.net/abcwanglinyong/article/details/80264271