繁体   English   中英

使用Fiddler作为HttpWebRequest的代理需要Fiddler运行

[英]Using Fiddler as proxy for HttpWebRequest requires Fiddler to be running

我有一个我正在开发的Web应用程序,它可以生成大量的HttpWebRequests。 为了使调试更容易,我在web.config中设置了以下内容。

<system.net>
     <defaultProxy>
         <proxy proxyaddress="http://127.0.0.1:9999" />
      </defaultProxy>
</system.net>

这允许我的所有HttpWebRequests通过Fiddler进行代理。 问题是我需要运行Fiddler以使我的应用程序正常工作。

理想情况下,我希望在Fiddler运行时让它通过Fiddler进行代理,而不是代理,当Fiddler没有运行时,无需每次都更改我的web.config。

有几个选择。

首先,您可以直接在代码中设置相关对象的相关Proxy属性,而不是回退到配置XML; 然后,您可以根据自己喜欢的任何因素有选择地控制代理的使用。

或者,您可以尝试将scriptLocation 属性设置为指向http://localhost:8888/proxy.pac并使用Fiddler的about:configfiddler.proxy.pacfile.usefileprotocol设置为false并勾选Tools> Fiddler Options> Connections>使用PAC脚本框。

您是否考虑过在System.Net上启用跟踪侦听器的另一种方法? 它不如使用Fiddler那么舒服,但它可能足以进行零星调试。 对于消息记录,只需要System.Net即可,但还有更多。

  <system.diagnostics>
    <trace autoflush="true" />
    <sources>
      <source name="System.Net">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>
      <!--<source name="System.Net.Sockets">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>-->
      <!--<source name="System.Net.Cache">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>-->
    </sources>
    <sharedListeners>
      <add
          name="System.Net"
          type="System.Diagnostics.TextWriterTraceListener"
          initializeData="System.Net.trace.log"
        />
    </sharedListeners>
    <switches>
      <add name="System.Net" value="Verbose" />
      <add name="System.Net.Sockets" value="Verbose" />
      <add name="System.Net.Cache" value="Verbose" />
    </switches>
  </system.diagnostics>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM