Httpwebrequest and Fiddler

6

我已经使用HTTPS设置了一个HttpWebRequest,并且在Fiddler运行时代码可以正常工作。

当没有运行Fiddler时,我会得到一个“请求超时”的错误。

有人有任何想法是什么原因吗?我已经:

a)根据要求确保安全策略存在。

if (this.IngoreCertificateErrors)
    ServicePointManager.ServerCertificateValidationCallback +=
        delegate(object sender, X509Certificate certificate, X509Chain chain,
        SslPolicyErrors sslPolicyErrors)
    { return true; };
b) 我也确保没有防火墙冲突等问题。 还有什么其他的尝试方法吗?

编辑:为了明确 - 我的应用程序基本上登录到网站获取报告。在步骤1-3中)登录,获取登录和报告的URL。第4步)一旦登录成功 - 获取报告。我遇到的问题是第4步)只能使用fiddler吗?


它能在没有Fiddler的情况下与HTTP一起使用吗? - John Saunders
嗨John - 我基本上有4个请求,以便从网站上获取报告。这些步骤是1-3登录,获取登录和报告的URL,4)一旦登录 - 获取报告。1-3可以使用或不使用Fiddler,而4只能使用Fiddler。 - Frederick
你有没有找到解决办法?我遇到了完全相同的问题...(Windows 2008服务器,在OSX上通过Parallels虚拟运行,.NET)3.5 - Scrappydog
2个回答

8

在另一个帖子上找到了与我的问题相同的解决方案:

为什么使用 Fiddler 后 HttpWebRequest 对象的性能会提高?

将以下内容添加到 app.config 中,我的应用程序正常运行:

  <system.net>
    <connectionManagement>
      <add address="*" maxconnection="30" />
    </connectionManagement>
  </system.net>

所以这让我认为我的代码中缺少一些清理工作,而未关闭的连接没有被关闭。


我也遇到了同样的问题,也有了相同的解决方案。你说:“在我的代码中,打开的连接没有被关闭。”我们应该怎么做来处理HttpWebRequest或HttpWebResponse对象?只是将它们赋值为null就可以了吗?还是需要其他操作? - cgon

1

检查机器的互联网设置,是否意外地保留了 Fiddler 代理设置?

检查应用程序的 .Config 文件,是否有网络代理设置指向 Fiddler 工具?


嘿,安东尼 - 是的,它们设置正确了。真正有问题的只是第4步。 - Frederick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接