我想在运行时读我的默认代理设置的值,但我似乎无法找到这样做的任何方式。 有很多关于如何设置一个默认代理(如相关答案如何通过在defaultProxy配置设置凭据? ),但是我正在寻找如何阅读这些设置。
这背后的原因是,我们有时打开代理,所以我们可以捕捉与小提琴手的服务器的流量,我想创建一个自动防故障通知我,如果有人不小心忘在这种状态下关闭后提琴手。
我想在运行时读我的默认代理设置的值,但我似乎无法找到这样做的任何方式。 有很多关于如何设置一个默认代理(如相关答案如何通过在defaultProxy配置设置凭据? ),但是我正在寻找如何阅读这些设置。
这背后的原因是,我们有时打开代理,所以我们可以捕捉与小提琴手的服务器的流量,我想创建一个自动防故障通知我,如果有人不小心忘在这种状态下关闭后提琴手。
我结束了通过配置管理,而不是通过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类有“已启用”,并能够满足我的需求“Proxy.ProxyAddress”属性。
用下面的web.config部分:
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="False" proxyaddress="http://1.1.1.1" bypassonlocal="True" />
</defaultProxy>
下面的代码返回从Web配置代理信息:
Uri proxy = WebRequest.DefaultWebProxy.GetProxy(new System.Uri("http://www.google.com"));