Fiddler Everywhere抓取http://localhost 或 http://127.0.0.1 的流量

本地调试项目时,经常都是使用http://localhost或者http://127.0.0.1来访问项目,不知道怎么搞的,新的Fiddler Everywhere默认好像捕捉不到本地流量了,于是查看官方文档解决了。
from-fiddler-classic-to-fiddler-everywhere-thumb.png

References:

问题产生的原因和解决方案官方都说的非常清楚,这里简单翻译下:
由于Internet Explorer和.NET Framework 已经在代码中写死了,对于localhost请求不会走代理。所以Fiddler就捕捉不到这样的流量。
IE 9允许Fiddler代理localhost或127.0.0.1的流量,因此不需要额外的设置。
在火狐上应该不会出现这种问题,因为火狐的FiddlerHook插件解决了这个问题,可以代理本地流量。

我是在谷歌上尝试的,官方给出的三种方案我只试了两种,都可以,最后一种没太懂怎么操作,放弃了,有需要可以自行参考上文链接研究。

  • 方案1:使用Machine Name 或 Hostname

不使用localhost,使用Hostname。获取本机Hostname的方式有多种,这里说两个比较方便的:

  1. 鼠标放在Fiddler界面右下角的Connected上就能看到
  2. 在CMD中输入hostname也可以显示Hostname

比如:当要访问http://localhost:8080/demo这个地址时,换成访问http://desktop-82s8r2b:8080/demo
Snipaste_2020-08-16_17-37-07.png

  • 方案2:使用http://ipv4.fiddler

使用http://ipv4.fiddler访问localhost的IPv4地址。使用http://ipv6.fiddler访问localhost的IPv6地址,或者直接使用http://localhost.fiddler

比如:当要访问http://localhost:8080/demo这个地址时,换成访问http://ipv4.fiddler:8080/demo

由于Fiddler软件内部拦截了ipv4.fiddler这个域名的访问并自动转换到localhost,所以Fiddler开启捕捉时访问这个域名和访问localhost是一样的,这样就破解了localhost不能被代理的限制。

  • 方案3:更新Rules File

由于没使用过Fiddler的Rules File,看了眼,有点复杂的样子,暂时用不到也不想去研究了。可以自行研究。

Fiddler还是很好用的,更新后界面也不错,和Postman一样,使用了Electron。
Snipaste_2020-08-16_17-52-57.png

标签: none

添加新评论

ali-01.gifali-58.gifali-09.gifali-23.gifali-04.gifali-46.gifali-57.gifali-22.gifali-38.gifali-13.gifali-10.gifali-34.gifali-06.gifali-37.gifali-42.gifali-35.gifali-12.gifali-30.gifali-16.gifali-54.gifali-55.gifali-59.gif

加载中……