【发布时间】:2015-11-05 22:25:05
【问题描述】:
我在公司域网络中。我们有网络限制。 我们无法 ping我们网络之外的 IP。
我必须通过在 google.com 上发出 HTTPWebRequest 来检查 Internet 连接是否正常。
我们使用代理进行互联网连接并使用 proxy.pac。 如果我不在公司并且我直接连接到互联网,该程序应该仍然可以工作。
检查我是否在公司 --> 使用代理。如果直接连接 --> 不使用代理。
我试过了,但如果我在公司网络上,我仍然得到(需要错误 407 身份验证),但如果我直接连接它,它就可以工作。
try
{
var uriBuilder = new UriBuilder(_URL);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uriBuilder.Uri);
request.Timeout = 1000;
//request.Accept = "*/*";
WebProxy proxy = new WebProxy("1**.208.***.***:8080");
//request.UseDefaultCredentials = true;
request.Proxy = proxy;
request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
//request.UserAgent = "Foo";
//request.Accept = "*/*";
//request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
_PingByURL = response.StatusCode == HttpStatusCode.OK; //_PingByURL is bool.
}
catch
{
_PingByURL =false;
}
我的 App.config:
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
</startup>
<system.net>
<defaultProxy enabled ="true" useDefaultCredentials = "true">
<proxy usesystemdefault ="True" bypassonlocal="True"/>
</defaultProxy>
</system.net>
</configuration>
所以我需要正确的凭据。如何使用我登录的域中的域凭据?
谢谢!
【问题讨论】:
标签: c# wpf proxy httpwebrequest