前沿

之前在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. php错误控制运算符@

    PHP支持一个错误控制运算符:@.当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉. 如果用set_error_handle()设定了自定义的错误处理函数,仍然会被调用,但是 ...

  2. JS 对象 合并

    来自:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Sy ...

  3. webpack快速入门——打包后如何调试

    在配置devtool时,webpack给我们提供了四种选项. source-map:在一个单独文件中产生一个完整且功能完全的文件.这个文件具有最好的source map,但是它会减慢打包速度: che ...

  4. 聊聊jvm系列

    http://blog.csdn.net/column/details/talk-about-jvm.html

  5. Swift循环遍历集合方法

      第一种方式:for-in循环 OC延续了C语言的for循环,在Swift中被彻底改造,我们无法再使用传统形式的for循环了 遍历数组和字典: //遍历数组 let iosArray = [&quo ...

  6. log4net udp

    官方文档: http://logging.apache.org/log4net/release/config-examples.html 配置: <?xml version="1.0& ...

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

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

  8. AttrContext

    info属性类型为AttrContext或AttrContextEnv.主要看AtrContext即可.定义了如下关键参数: /** Contains information specific to ...

  9. asterisk与freepbx常用的命令

    asterisk 常用命令: 通过asterisk -r 连接我们的asterisk. 在CLI中常用的命令: sip show peers 显示所有的SIP peers(包括friends) sip ...

  10. Fiddler 502问题

    使用Fiddler的时候遇到下面这个问题:在地址栏想打开个一般处理程序,出现连接本机失败的提示,如下图: 而这在我没打开Fiddler的时候是显示正常的. 查看Fiddler,在嗅探 -> 第二 ...