首页 > 代码库 > 使用Fiddler关于“由于目标计算机积极拒绝,无法连接。”的解决方案

使用Fiddler关于“由于目标计算机积极拒绝,无法连接。”的解决方案

今天使用Fiddler的时候遇到下面这个问题:在地址栏想打开个一般处理程序,出现连接本机失败的提示如下图:

而这在我没打开Fiddler的时候是显示正常的。

查看Fiddler,在嗅探>第二个Raw的报文最下面提示:

[Fiddler] Connection to localhost failed.<BR>Exception Text: 由于目标计算机积极拒绝,无法连接。 ::1:53582  

53582是我的端口号。在左边的web会话窗口显示如下:

502状态码即表示服务器暂时不可用。那怎么解决呢?在网上搜了一阵后,找到了解决方法。我目前用的是Fiddler2汉化版,只要在工具>Fiddler选项>启用Ipv6(如果有)把钩去掉就解决了。

英文版本是在Menu>Fiddler Options>General>Enable IPv6(if avaible)去掉钩,不同版本可能有些差别。

为什么钩掉启用Ipv6就能解决呢?后来我发现,在我前面异常文本里端口号的前面有个::1,之前一直没留意到,太不起眼了。对网络工程较熟的应该知道,这是十六位的Ipv6地址0:0:0:0:0:0:0:1的简写,此地址是Ipv6环回地址,与IPv4中的127.0.0.1类似,一般在节点发报文给自身时使用。也就是说本机网络使用的是Ipv6协议而不是实际上需要的Ipv4协议,想到这,顿时都懂了,这也解释了为什么把“启用Ipv6(如果有)”勾掉就能解决问题。

于是我又想到了修改本机hosts文件来解决这个问题,在hosts文件(win7地址:C:\Windows\System32\drivers\etc\hosts)上添加上这样一行:

127.0.0.1 localhost。

这样就直接配置好了本机域名跟IP的映射,绕过了域名解析服务器,不管使用Ipv4协议还是Ipv6协议都不会出现上面无法连接的状况了。果不其然,我把之前在“启用Ipv6(如果有)”那里重新勾上,刷新页面还是能够成功打开。