欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用Fiddler调试visual studion多个虚拟站点的问题分析

程序员文章站 2024-03-01 22:29:58
1:localhost.和127.0.0.1.带来的url行为不一致 无法走本地代理,这个无法本地调试的问题并不是个bug,微软官方是有给出过解释的,这是源于ie浏览器和...

1:localhost.和127.0.0.1.带来的url行为不一致

无法走本地代理,这个无法本地调试的问题并不是个bug,微软官方是有给出过解释的,这是源于ie浏览器和.net框架对于本地请求是不走代理的,因而fiddler无法检测数据。于是为本地地址加.符号,这就带来url行为不一致的问题。

取当前context.request.url,会发现系统自动将地址中的.符号忽略了,这为我们针对url编码带来了不一致的问题;

2:target machine actively refused it(目标地址积极拒绝)

filddler option的enable ipv6取消。

3:修改custom rules带来的url行为不一致

解决1中的问题,必须采用custom rules,有关信息对应:http://fiddler2.com/documentation/knowledgebase/fiddlerscript/modifyrequestorresponse

我的解决方案中对应两个虚拟站点,则要为fiddler更改策略如下:

if (osession.host=="aaa:22222") {
  osession.host="127.0.0.1:22222";
}

 

if (osession.host=="aaa:22222") {
  osession.host="127.0.0.1:22222";
}

当然,这个解决不是说得到了aaa这个url,而是localhost.,也就是仍旧存在url行为不一致的问题

4:设置站点为"use local iis web server"

在vs中设置调试的站点不是development server,而是iis,其中,把url填写为本机的ip地址,如:http://192.168.80.1/。好吧,所有这一切,还是只能怪ie对本地地址不走代理。因为我们知道fiddler一开启,实际就是为ie设置了走自身的代理。