C# 401 SSL的WebRequest出现未经授权的异常

C# 401 SSL的WebRequest出现未经授权的异常,c#,ssl,webrequest,C#,Ssl,Webrequest,我有下面的C#代码试图向特定url发出https请求。如果我将URL更改为指向QAS服务器(不是https),那么一切正常。我尝试过多种设置组合,但我所做的一切似乎都无法使其正常工作。你可以在评论中看到我所做的事情的几种不同组合 var request = (HttpWebRequest)WebRequest.Create(nextUrl); request.AllowAutoRedirect = false; request.UseDefaultCredentials = true; requ

我有下面的C#代码试图向特定url发出https请求。如果我将URL更改为指向QAS服务器(不是https),那么一切正常。我尝试过多种设置组合,但我所做的一切似乎都无法使其正常工作。你可以在评论中看到我所做的事情的几种不同组合

var request = (HttpWebRequest)WebRequest.Create(nextUrl);
request.AllowAutoRedirect = false;
request.UseDefaultCredentials = true;
request.KeepAlive = false;
//request.PreAuthenticate = true;
//request.Credentials = CredentialCache.DefaultNetworkCredentials;
//request.Credentials = new NetworkCredential("name", "pass", "domain");
ServicePointManager.ServerCertificateValidationCallback = AcceptAllCertifications;
HttpWebResponse response;
using (response = (HttpWebResponse)request.GetResponse())
{
    //Do Something
}

您的证书回调代码看起来不正确,应该是:

ServicePointManager.ServerCertificateValidationCallback =
     new RemoteCertificateValidationCallback(AcceptAllCertifications);

我假设您有适当的方法签名用于
验收认证
。另外,如果
nextUrl
使用的类是http,则默认为不安全;如果是https,则默认为安全

您的证书回调代码看起来不正确,应该是:

ServicePointManager.ServerCertificateValidationCallback =
     new RemoteCertificateValidationCallback(AcceptAllCertifications);

我假设您有适当的方法签名用于
验收认证
。另外,如果
nextUrl
使用的类是http,则默认为不安全;如果是https,则默认为安全

回调是正确的。如果你把完整的陈述放在你有它也可以工作,但不再需要了,你可以做我有的速记(我爱resharper)。正如我所说,URL是https。当我将其更改为指向http的测试服务器时,它工作正常,但在本例中,失败的是https。您是否明确地将https放入参数中?此外,您应该尝试修改用户代理以声明它是必需的。我应该如何修改客户端?看一看:我已经尝试了上面链接中的所有建议,但仍然得到401未经授权的回调是正确的。如果你把完整的陈述放在你有它也可以工作,但不再需要了,你可以做我有的速记(我爱resharper)。正如我所说,URL是https。当我将其更改为指向http的测试服务器时,它工作正常,但在本例中,失败的是https。您是否明确地将https放入参数中?此外,您应该尝试修改用户代理以声明它是必需的。我应该如何修改客户端?看一看:我已经尝试了上面链接中的所有建议,但仍然得到了401 unauthorizedWhat exception(s)?您能否在证书验证回调委托方法中捕获SSL问题,并查看出现了什么异常?能否在证书验证回调委托方法中捕获SSL问题并查看?