在.NET 4.5捕获流量的提琴手(Capturing traffic by fiddler in

2019-10-30 21:25发布

我在VS2010是发送HttpWebRequest和不使用任何配置的提琴手是抓住了这个请求,写简单的应用程序。 但之后,我安装了VS2012和运行小提琴手,当我发送请求我已经异常“操作超时”,并请求没有捕获。 当我关闭提琴手所有的请求都发送。 我删除VS2012和.NET Framework 4.5。 该请求后发送和提琴手捕捉它们。
为什么提琴手dont't捕获流量时,安装.net4.5?

Answer 1:

你任何机会尝试设置主机的HttpWebRequest的财产? 这可能是你的问题的原因。

我也有.NET 4.5安装并体验到同样的情况。 我得到当小提琴手正在运行被当枪使了同样的错误。 错误是:

System.Net.WebException:操作已在System.Net.HttpWebRequest.GetResponse超时()

下面是重现该问题的琐碎示例:

using System;
using System.IO;
using System.Net;

namespace WebRequestTest
{
    class Program
    {
        static void Main(string[] args)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com");
            request.Host = "www.microsoft.com";//If I comment this line, capturing with fiddler works OK.
            request.Method = "GET";
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0";

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            using (Stream stream = response.GetResponseStream())
            using (StreamReader sr = new StreamReader(stream))
            {
                string content = sr.ReadToEnd();
                Console.WriteLine(content);
            }
        }
    }
}

在我的情况下,我不得不发表意见request.Host="www.microsoft.com"行,一切工作正常。

我怀疑使用比小提琴手其他HTTP代理时会发生相同的行为,但我没有,虽然进行了测试。



文章来源: Capturing traffic by fiddler in .net 4.5