我正在使用HttpWebRequest获得一些非常奇怪的行为我希望有人可以帮助我.我有一个控制台应用程序,它通过使用HttpWebRequest对象来检索目标网站的内容来完成一些聚合工作.由于要求的性质,应用程序是多线程的,并尝试在10到30个同时连接之间进行任何操作(我一直在尝试一系列值).实际的Web请求结构如下:
var req = (HttpWebRequest)WebRequest.Create(url);
WebResponse resp = req.GetResponse();
Stream s = resp.GetResponseStream();
var sr = new StreamReader(s, Encoding.ASCII);
string doc = sr.ReadToEnd();
sr.Close();
resp.Close();
return doc;
Run Code Online (Sandbox Code Playgroud)
无论如何,奇怪的行为是在正常情况下应用程序每分钟实现大约120个请求但是如果我打开Fiddler它会跳到大约600.使用Windows 7资源监视器我可以看到网络活动相应增加.控制台进程的TCP连接现在将远程地址列为"IPv4环回"而不是目标服务器IP地址(预期).我确实想知道机器允许的最大同时HTTP请求数,但在注册表中更改这个请求似乎没有什么区别.
所以问题是; 什么是运行Fiddler突然增加了五倍的吞吐量,我怎么能在机器上本地实现这一点,而无需启动另一个工具?
谢谢!
我有一个简单的WCF服务与basicHttp绑定.该服务在IIS7中本地托管(Win7笔记本电脑).我可以在以下位置浏览该服务:http://localhost/musicstore/musicstore.svc (端口80)
我开发了一个简单的Windows窗体客户端应用程序来调用该服务.它工作正常,但我真的希望通过Fiddler2看到消息调用/响应.当我浏览网页时,Fiddler2会愉快地报告流量,所以我无法理解为什么它没有接收这个WCF呼叫?
是否有另一种方法来查看WCF调用的数据.也许有微软工具?
客户端配置是:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint address="http://localhost/musicstore/musicstore.svc"
binding="basicHttpBinding" bindingConfiguration="" contract="MusicStore.IMusicStore"
name="BasicHttp" />
</client>
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)
服务配置是:
<services>
<service behaviorConfiguration="MusicStoreBehavior" name="MusicStore">
<endpoint address="" binding="basicHttpBinding" contract="IMusicStore">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
Run Code Online (Sandbox Code Playgroud) 我试过用fiddle2调试我的一个python程序,它发出http请求并获得响应.然而,无论我在命令提示符或python GUI中运行python,我都没有在fiddler上看到任何流量.未设置小提琴过滤器,即设置为显示所有进程,我确实看到了浏览器的流量.
我需要设置任何设置吗?
谢谢.
我想监控HTTPS从我的应用程序到远程服务器的流量.我试图遵循这个指令,它适用于HTTP(没有s),但不是HTTPS.
怎么了?我应该在我的应用程序中编写一些自定义代码https-proxy吗?
我正在尝试使用Fiddler监控我的iPad应用程序的HTTPS请求/响应.我有一台运行Fiddler的Windows 7 PC并在我的iPad上配置了HTTP代理,使用端口8888指向PC.这样可以正常工作,并且可以在捕获日志中看到CONNECT隧道消息和"ClientHello"握手.但是,只要我在Fiddler中启用"解密HTTPS流量"选项,就会阻止该应用连接到服务器.我已经尝试在PC上安装Fiddler根证书,我还通过将证书导出到URL并将Safari指向我安装它的iPad上的URL来将证书安装到我的iPad上.这没有什么不同.我是否需要对运行我的Web服务的服务器上安装的SSL证书执行某些操作?
我正在使用asp.net web api,我想尝试看看我的方法是否有效.我看到人们做这件事的方式很多是通过提琴手.我试图自己这样做,但我不能让它工作.
我去作曲家选项卡并执行此操作.

public IQueryable<FoodLogRecord> Get(string email)
{
return null;
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了404.我也在方法中提出了一个断点,但它从未进入过.
我有以下情况:2台主机,一台是客户端,另一台是HTTPS服务器.
Client (:<brwsr-port>) <=============> Web server (:443)
Run Code Online (Sandbox Code Playgroud)
我在服务器上安装了Fiddler,这样我就可以在我的服务器端口8888上运行Fiddler了.
我想达到的情况如下:
|Client (:<brwsr-port>)| <===> |Fiddler (:8888) <===> Web server (:443)|
|-Me-------------------| |-Server--------------------------------|
Run Code Online (Sandbox Code Playgroud)
从我的电脑我想联系Fiddler,它将流量重定向到Web服务器.然而,Web服务器使用HTTPS.
在服务器上,我设置了Fiddler来处理HTTPS会话并解密它们.我被要求在服务器上安装Fiddler的假CA证书,我做到了!我还插入了Fiddler维基页面建议的脚本来重定向HTTPS流量
// HTTPS redirect -----------------------
FiddlerObject.log("Connect received...");
if (oSession.HTTPMethodIs("CONNECT") && (oSession.PathAndQuery == "<server-addr>:8888")) {
oSession.PathAndQuery = "<server-addr>:443";
}
// --------------------------------------
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试https://myserver:8888/index.html失败时!
在客户端上使用Fiddler时,我可以看到CONNECT请求启动但会话失败,因为响应是HTTP错误502.看起来没有人在端口8888上侦听.事实上,如果我在服务器上停止Fiddler,我会得到相同的情况:502坏网关.
请注意,当我尝试https://myserver/index.html和https://myserver:443/index.html一切正常!
我究竟做错了什么?
我认为,因为TLS/SSL可能在端口443上运行,我应该让Fiddler在那里监听并将我的Web服务器移动到另一个端口,例如444(我应该在IIS上设置一个https绑定在444端口).这是对的吗?
在Fiddler中,我使用从客户端发送的以下cookie字符串捕获了HTTPS请求(在Inspectors> Raw中可见):
Cookie: devicePixelRatio=1; ident=exists; __utma=13103r6942.2918; __utmc=13103656942; __utmz=13105942.1.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); mp_3cb27825a6612988r46d00tinct_id%22%3A%201752338%2C%22%24initial_referrer%22%3A%20%22https%3A%2F%2Fwww.pion_created_at%22%3A%20%222015-08-03%22%2C%22platform%22%3A%20%22web%22%2C%%22%3A%20%%22%7D; t_session=BAh7DUkiD3Nlc3NpbWVfZV9uYW1lBjsARkkiH1BhY2lmaWMgVGltZSAoVVMgJiBDYW5hZGEpBjsAVEkiFXNpZ25pbl9wZXJzb25faWQGOwBGaQMSvRpJIhRsYXN0X2xvZ2luX2RhdGUGOwBGVTogQWN0aXZlU3VwcG9ydDo6VGltZVdpdGhab25lWwhJdToJVGltZQ2T3RzAAABA7QY6CXpvbmVJIghVVEMGOwBUSSIfUGFjaWZpZWRfZGFzaGJvYXJkX21lc3NhZ2UGOwBGVA%3D%3D--6ce6ef4bd6bc1a469164b6740e7571c754b31cca
Run Code Online (Sandbox Code Playgroud)
我想在Python请求请求中使用此cookie.(我略微修改了cookie,因此它不能被读者用于恶意目的!).
但是,请求似乎使用字典格式发送cookie,而我将上述字符串/ blob转换为字典格式时遇到问题.
我的问题是:
Fiddler确实看起来很有趣,我看到人们推荐它作为一个很好的调试工具,但是快速的结果我没有看到任何我们在Firebug中没有的那么棒的东西.
Fiddler可以做什么,Firebug不能做?相反,Firebug可以做什么,Fiddler不能做?