总是对Fiddler的工作方式有些迷惑,晚上说Fiddler使用过代理服务器的方式工作的。
但是
1.我用谷歌、360浏览器,并没有设置代理,也能被截获。
2.一些需要访问网络的程序或游戏的请求也能被截获(这个肯定没有设置代理呀!例如有道词典,360软件管家)
3.但是我在vs中通过代码发起的请求咋就不能被截获呢(例如通过HttpWebRequest发起一个请求)
还请高手帮忙解惑。

解决方案 »

  1.   

    在Fillder中的右边的选项卡中,
    1、选择Filters,
    2、打勾 Use Filters
    3、选择 Show only the following Hosts
    4、在下边的文本矿里填入你希望显示的网址
    5、单击右上角 Actions使过滤规则生效。如下图,希望有帮助
      

  2.   

    1、Fillder使用代理服务器的方式工作是指,Fillder本身作为代理服务器拦截“所有”的请求,而不是指他拦截的客户端、程序设置了代理
    2、同上
    3、Fillder不会拦截IE7和IE8对localhost和127.0.0.1的HTTP请求和应答,所以你拦截不到。如果需要访问Loaclhost或者127.0.0.1,需要用localhost.的方式,即 localhost后加 点。
    让Fiddler调试localhost和127.0.0.1
      

  3.   

    1.Fiddler不是默认监听8888端口么,会自动设置IE代理
    3.localhost 和 127.0.0.1一样可以监听(用IIS自带的那个站点测试的),加点是什么意思,加点反而不行。
    4.我在代码中写的请求,不就是应用程序中的请求么,代码生成的不就是一个应用么?
      

  4.   

    1、fiddler的官网是fiddler2.com
    2、fiddler代理工作的原理应该是指,fiddler软件启动的时候会自动为常用的浏览器设置代理,及常用的软件设置代理。这个我的猜测是,window应该有一个通用的模块去发送处理http请求相关的东西,大部分的浏览器或软件会调用该模块,所以,fiddler2不用我们去设定,就可以拦截这些请求
    3、你说的问题在官网上有相关解释,一个是Get Start with Fiddler2,一个是Config .Net Applications,
    4、我没有去一步一步自己实现一个程序然后用fiddler2去拦截,但是我认为按照上边的第2个超链接的网页中描述的步骤,应该能满足你第三问的问题
    5、我之前用较早版本的fiddler确实碰到过使用localhost和127.0.0.1不能访问,需要加点才能访问的问题,所以我找了网上的连接直接贴给你。刚才我试了一下,我现在使用的版本跟你描述的一样,确实不用加点就能访问,加点反而不行,对于造成的误导,非常抱歉
    希望你不要对我抱有偏见,我确实在想大家互相帮助,上边的超链接你打开看看吧,应该是你想找的答案
      

  5.   

    objRequest = (HttpWebRequest)WebRequest.Create(url);
        objRequest.Proxy= new WebProxy("127.0.0.1", 8888);建议看原文
      

  6.   

    如何网上能搜到,我还会在这里问?你还可以加一个关键字搜,.net4.5,看看会有什么变化。
    眼见为实,不要看到别人怎么说,你就跟着学。
      

  7.   

    如何网上能搜到,我还会在这里问?你还可以加一个关键字搜,.net4.5,看看会有什么变化。
    眼见为实,不要看到别人怎么说,你就跟着学。1、我没有见怎么说就跟着学,我是在遇到问题之后自己在想解决办法,及查看Fiddler官网想你可能遇到的情况。
    2、你没有说过具体情景,也没有描述bug使用环境或重现方式,都是每回答一次问题,你说情景不对,提问技巧值得商榷。对于这样的问题,我猜测情景,贸然回答,这是我的问题,我应该就告诉你四个字RTFM。
      

  8.   

    你的工作就是RTFM吧,还localhost加点
      

  9.   

    是不是request.Proxy为null?当Proxy为null时,fiddler也监测不到。request = (HttpWebRequest) WebRequest.Create(new Uri(url)); 后,不要设置request.Proxy,就会默认=127.0.0.1:8888的,就可以用fiddler监控。
    如果一定要设proxy,请设为new WebProxy("127.0.0.1", 8888);