前沿

之前在window下开发的同学大部分都是使用Fiddler代理工具做远程调试,自从换了Mac后也想找个代替工具调试,查询了下大概都比较推荐两款:Charles 和 Whistle 。不过Charles看起来是要收费的,那小伙伴们果断开始尝试用Whistle替代。

大概介绍下Whistle

https://github.com/avwo/whistle

whistle是用Node实现的类似Fiddler的web调试代理工具,支持查看和修改HTTP(S)、Websocket请求响应数据,且支持跨平台(Windows、Mac、Linux等可以安装Node的操作系统)。IMWEB团队avenwu作品。

第一步 安装

npm i -g whistle

第二步 启动

w2 run



到这里其实whistle就安装启动完毕了,是不是很快,直接访问http://127.0.0.1:8899 就可以看到工具界面,里面可以配置一些转发规则。

不过这里最后:还需要下载个浏览器代理工具,浏览器需要把请求设置代理指向whistle Server地址127.0.0.1:8899,chrome下推荐安装使用proxyOmega插件来提高切换效率,这样就可以一键切换代理。

第三步 配置浏览器代理 proxyOmega

1.新建情景模式

2.命名whistle

3.代理协议 HTTP

4.代理服务器: 127.0.0.1

5.代理端口: 8899 把浏览器代理切换到whistle就可以进入下一步了。

第四步 开始使用,打开网页,开始配置

http://127.0.0.1:8899/#rules

点击上面的Create按钮新建一个规则(2),在里面写替换规则:

https://www.baidu.com/img/bd_logo1.png /Users/pankai/Desktop/BothEyes.jpg



上面的规则是:这里我把百度的LOGO换成我的本地图片了



当然你在工具的请求列表也能看到被换的RUL:

总结

当然这个工具的功能十分强大这里就不一一实验了,开发过程中用的最多就是这个替换js调试了,这里也可以看下一些其他的常用功能:

# whistle也支持匹配目录
qq.com/folder file://E:\xxx\dev # 配置host也是可以的
qq.com 127.0.0.1 # 可以匹配目录到指定ip
qq.com/folder 127.0.0.1 # 一个稍微复杂的例子,用过现网路径是ke.qq.com/webcourse/index.html本地路径 E:\xxx\dev\pages\index\main.html
/^http://ke\.qq\.com/webcourse(/[\w\-]*)\.html(.*)/ file://E:\xxx\dev\pages$1\main.html # 更详细的内容请看官方文档 https://whistle.gitbooks.io/help/content/

参考链接:https://www.imweb.io/topic/57fceeb889f8f5b329893239

https://imweb.io/topic/596480af33d7f9a94951744c

whistle替代Fiddler调试远程服务器代码使用教程的更多相关文章

  1. PHP Xdebug + PhpStorm调试远程服务器代码

    1.服务器(linux centos)安装xdebug pecl install xdebug 注意看安装完成之后会显示 debug.so 的路径,记录下来 2.配置 php.ini如果不知道php. ...

  2. 解放双手:如何在本地调试远程服务器上的Node代码

    写在前面 谈到node断点调试,目前主要有三种方式,通过node内置调试工具.通过IDE(如vscode).通过node-inspector,三者本质上差不多.本文着重点在于介绍 如何在本地通过nod ...

  3. Eclipse调试远程服务器

    原文:https://blog.csdn.net/fengshizty/article/details/45126737 Eclipse提供能调试远程服务器的功能,最近做微信开发,需要部署到远程服务器 ...

  4. 使用pycharm调试远程服务器上的程序

    一.PyCharm实现远程调试代码 1. 和远程服务器建立连接,tools àDeploymentàConfiguration 2. 点击“+”号,按照远程服务器信息配置信息 点击“Advanced ...

  5. phpstorm 同步远程服务器代码

    1.打开view —Toolbar,点击红框中的小工具 2.单击Deployment,在connection中填写对应选项, 其中:type勾选sftp root path :点击后面的Autodet ...

  6. NodeJS学习笔记 进阶 (6)本地调试远程服务器上的Node代码(ok)

    https://github.com/chyingp/nodejs-learning-guide

  7. 如何用 fiddler 调试线上代码

    有时代码上线了,突然就碰到了坑爹的错误.或者有时看别人家线上的代码,对于一个文件想 fork 下来试试效果又不想把全部文件拉到本地,都可以使用 fiddler 的线上调试功能. 比方说我们打开携程的首 ...

  8. git更新到远程服务器代码

    git commit -a 在vi里输入一些内容 wq退出,git pull, git push

  9. eclipse同步远程服务器

    eclipse里有一个强大的插件,可以直接在本地编辑远程服务器代码,Eclipse Remote System Explorer (RSE) 下载安装方法: 一.下载,高版本的eclipse可以直接下 ...

随机推荐

  1. netstat 查看本机开放端口

    root@kali:~# netstat -luntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Add ...

  2. echart 遇到的点

    1,图表随着外部container变化而变化: window.onresize = myChart.resize (拿着resize在api文档中搜就看到了)

  3. Google Guava 类库简介

    Guava 是一个 Google开发的 基于java的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency librar ...

  4. 使用request.js代理post失败的问题

    前面写过一篇使用request.js做代理的文章,可能眼睛敏锐的朋友已经看出在代理POST方法时和代理其它请求方式是有区别的, 现在我来说一下为什么要这么处理. 相信很多人都采用这种方式去代理POST ...

  5. Tcp下载文件

    一.下载文件 tcp 客户端 1.创建套接字down_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)2.获取ip,portdown ...

  6. NOIP上机测试注意事项

    由于近期模拟题原地**次数较多,故写一篇警示文 1,头文件 1.1正式比赛中,反正我不敢用bits/stdc++.h. 1.2正式比赛中,建议打出以下十个库 #include<iostream& ...

  7. spring boot的拦截器简单使用

    1.spring boot拦截器默认有: HandlerInterceptorAdapter AbstractHandlerMapping UserRoleAuthorizationIntercept ...

  8. 《LeetBook》leetcode题解(15):3Sum[M]

    我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...

  9. vsts~CI/CD实现自动化编译

    打开你的vs online,选择build and release标签,进行自动化编译的开发. 一 新建,选择对应的源代码管理,我们以VSTS-GIT为例 二 选择你的项目所应对的开发框架,如.net ...

  10. 图解-安卓中调用OpenGL

    游戏开发中经常使用到OpenGL,当然很多人都喜欢直接用现有的游戏引擎,但相信了解的更多对你没有坏处 安卓开发中,采用的OpenGL ex2的规范,前几天看了下这个规范,整体上难度比1.0规范难度加大 ...