当前位置:编程学习 > C#/ASP.NET >>

关于使用Fiddler截获请求响应信息的问题

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

如果从vs中发送请求到外部的,如到百度的请求,应该也可以拦截得住的 --------------------编程问答-------------------- 在Fillder中的右边的选项卡中,
1、选择Filters,
2、打勾 Use Filters
3、选择 Show only the following Hosts
4、在下边的文本矿里填入你希望显示的网址
5、单击右上角 Actions使过滤规则生效。如下图,希望有帮助
--------------------编程问答-------------------- 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 --------------------编程问答--------------------
引用
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

1.Fiddler不是默认监听8888端口么,会自动设置IE代理
3.localhost 和 127.0.0.1一样可以监听(用IIS自带的那个站点测试的),加点是什么意思,加点反而不行。
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不能访问,需要加点才能访问的问题,所以我找了网上的连接直接贴给你。刚才我试了一下,我现在使用的版本跟你描述的一样,确实不用加点就能访问,加点反而不行,对于造成的误导,非常抱歉
希望你不要对我抱有偏见,我确实在想大家互相帮助,上边的超链接你打开看看吧,应该是你想找的答案 --------------------编程问答--------------------
objRequest = (HttpWebRequest)WebRequest.Create(url);
    objRequest.Proxy= new WebProxy("127.0.0.1", 8888);


建议看原文 --------------------编程问答--------------------
引用 6 楼 xiaoqcn 的回复:
objRequest = (HttpWebRequest)WebRequest.Create(url);
    objRequest.Proxy= new WebProxy("127.0.0.1", 8888);


建议看原文

如何网上能搜到,我还会在这里问?你还可以加一个关键字搜,.net4.5,看看会有什么变化。
眼见为实,不要看到别人怎么说,你就跟着学。 --------------------编程问答--------------------
引用 7 楼 xingxiaobai 的回复:
Quote: 引用 6 楼 xiaoqcn 的回复:

objRequest = (HttpWebRequest)WebRequest.Create(url);
    objRequest.Proxy= new WebProxy("127.0.0.1", 8888);


建议看原文

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


1、我没有见怎么说就跟着学,我是在遇到问题之后自己在想解决办法,及查看Fiddler官网想你可能遇到的情况。
2、你没有说过具体情景,也没有描述bug使用环境或重现方式,都是每回答一次问题,你说情景不对,提问技巧值得商榷。对于这样的问题,我猜测情景,贸然回答,这是我的问题,我应该就告诉你四个字RTFM。 --------------------编程问答--------------------
引用 8 楼 xiaoqcn 的回复:
1、我没有见怎么说就跟着学,我是在遇到问题之后自己在想解决办法,及查看Fiddler官网想你可能遇到的情况。
2、你没有说过具体情景,也没有描述bug使用环境或重现方式,都是每回答一次问题,你说情景不对,提问技巧值得商榷。对于这样的问题,我猜测情景,贸然回答,这是我的问题,我应该就告诉你四个字RTFM。

你的工作就是RTFM吧,还localhost加点。。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,