C# HTTPWebRequest查看网站是否可用/凭据失败
我在一个公司域网络中。我们有网络限制。 我们无法在网络外pingIP 我必须通过在google.com上发出HTTPWebRequest来检查互联网连接是否正常 我们使用代理进行internet连接,并使用proxy.pac。 如果我不在公司并且直接连接到互联网,该程序应该仍然有效 检查我是否在公司-->使用代理。如果connectet直接-->则不使用代理 我尝试过这一点,但如果我在公司网络,我仍然得到了(错误407身份验证要求),但如果我是connectet direktly,它可以工作C# HTTPWebRequest查看网站是否可用/凭据失败,c#,wpf,proxy,httpwebrequest,C#,Wpf,Proxy,Httpwebrequest,我在一个公司域网络中。我们有网络限制。 我们无法在网络外pingIP 我必须通过在google.com上发出HTTPWebRequest来检查互联网连接是否正常 我们使用代理进行internet连接,并使用proxy.pac。 如果我不在公司并且直接连接到互联网,该程序应该仍然有效 检查我是否在公司-->使用代理。如果connectet直接-->则不使用代理 我尝试过这一点,但如果我在公司网络,我仍然得到了(错误407身份验证要求),但如果我是connectet direktly,它可以工作 t
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>
所以我需要正确的证件。如何使用我登录的域中的域凭据
谢谢大家! PAC url不是您的代理。PAC文件包含有关代理IP和端口的信息。这就是您需要传递给HttpWebRequest对象的内容
此外,还可以传递域凭据,而不是System.Net.CredentialCache.DefaultCredentials 但我如何从pac中得到代理?或者我可以使用默认代理吗?它应该是pac之外的代理。即使我使用代理的ip,它也不起作用。