我试图在运行时读取默认代理设置的值,但我似乎无法找到任何方法。关于如何设置默认代理(例如How to pass credentials in defaultProxy config setting?)有很多相关的答案,但我正在寻找如何读取这些设置。
这背后的原因是我们有时会打开代理,以便我们可以使用Fiddler捕获服务器上的流量,并且我想创建一个故障保护,如果有人在关闭Fiddler后意外地将其置于此状态,则会通知我
答案 0 :(得分:4)
我最终通过配置管理器而不是通过System.Net.WebProxy:
读取值var proxy = System.Web.Configuration.WebConfigurationManager.GetSection("system.net/defaultProxy") as System.Net.Configuration.DefaultProxySection
if (proxy != null) { /* Check Values Here */ }
DefalutProxySection类具有符合我需要的“Enabled”和“Proxy.ProxyAddress”属性。
答案 1 :(得分:0)
使用以下web.config部分:
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="False" proxyaddress="http://1.1.1.1" bypassonlocal="True" />
</defaultProxy>
以下代码从web config返回代理信息:
Uri proxy = WebRequest.DefaultWebProxy.GetProxy(new System.Uri("http://www.google.com"));