C# 如何抑制HTTPWebRequests期间出现的安全风险通知

C# 如何抑制HTTPWebRequests期间出现的安全风险通知,c#,httpwebrequest,C#,Httpwebrequest,当我向某些网站发送HTTPWebRequests时,我会收到一条弹出消息,说明存在与该网站相关的未指定的安全风险,我是否要继续。在检索HTTPWebRequest并将其存储为字符串(以下代码中的ResponseAsString)之前,该消息不会出现。HTTPWebrequest检索网页的文本,该文本随后被转换为IHTMLDocument2,代码如下。警告出现在命令--oDoc.close()上;try-catch块不显示错误。有没有办法抑制此消息 //Creates IHTMLDocument2

当我向某些网站发送HTTPWebRequests时,我会收到一条弹出消息,说明存在与该网站相关的未指定的安全风险,我是否要继续。在检索HTTPWebRequest并将其存储为字符串(以下代码中的ResponseAsString)之前,该消息不会出现。HTTPWebrequest检索网页的文本,该文本随后被转换为IHTMLDocument2,代码如下。警告出现在命令--oDoc.close()上;try-catch块不显示错误。有没有办法抑制此消息

//Creates IHTMLDocument2 frow WebRequest!
private IHTMLDocument2 GetIHTMLDoc2FromString(string ResponseAsString) 
{
   HTMLDocument ProfileHTML = new HTMLDocument(); 
   IHTMLDocument2 oDoc = (IHTMLDocument2)ProfileHTML; 
   oDoc.write(ResponseAsString);
   oDoc.close();
   return oDoc; 
}
使用此代码

 public static bool IgnoreInvalidSSL { get; set; }
    private static bool ValidateRemoteCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
    {
        if (IgnoreInvalidSSL)
        {
            return true;
        }
        else
        {
            return policyErrors == SslPolicyErrors.None;
        }
    }
然后在您的httprequest上使用

ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateRemoteCertificate);
使用此代码

 public static bool IgnoreInvalidSSL { get; set; }
    private static bool ValidateRemoteCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
    {
        if (IgnoreInvalidSSL)
        {
            return true;
        }
        else
        {
            return policyErrors == SslPolicyErrors.None;
        }
    }
然后在您的httprequest上使用

ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateRemoteCertificate);

我在您的示例中没有看到任何提到HttpWebRequest的内容-是什么让您认为这个问题与HttpWebRequest有关,而与您试图从某个字符串创建HTML文档的事实无关?我也没有看到,但假设他在某处使用它,这就是我的答案。我在您的示例中没有看到任何提到HttpWebRequiest的内容-是什么让您认为这个问题与HttpWebRequest有关,而与您试图从某个字符串创建HTML文档的事实无关?我也没有看到,但假设他在某处使用它,这就是我的答案。谢谢Dustin:我不知道该怎么做,因为HTTPWebRequest只有一个servicepoint属性。另外,这段代码不是只告诉您是否有SSLPolicyError吗?当我使用IE手动访问此网站时,我只需单击潜在安全警报通知上的“是”按钮(我想继续),然后继续。点击yes按钮或它的等价物就是我想用代码复制的内容——或者最好还是不要出现通知。毕竟,我只是自动化一个我已经确定的手动过程。它不是HTTPWebRequest(甚至不是WebRequest)的属性,它只是一个静态类。达斯汀:我很确定这不是SSLPolicyError问题。我插入了行ServicePointManager.ServerCertificateValidationCallback=((发送方、证书、链、sslPolicyErrors)=>true);这将导致忽略任何SSLPolicyErrors。有什么建议吗?谢谢Dustin:我不知道该怎么做,因为HTTPWebRequest只有一个servicepoint属性。另外,这段代码不是只告诉您是否有SSLPolicyError吗?当我使用IE手动访问此网站时,我只需单击潜在安全警报通知上的“是”按钮(我想继续),然后继续。点击yes按钮或它的等价物就是我想用代码复制的内容——或者最好还是不要出现通知。毕竟,我只是自动化一个我已经确定的手动过程。它不是HTTPWebRequest(甚至不是WebRequest)的属性,它只是一个静态类。达斯汀:我很确定这不是SSLPolicyError问题。我插入了行ServicePointManager.ServerCertificateValidationCallback=((发送方、证书、链、sslPolicyErrors)=>true);这将导致忽略任何SSLPolicyErrors。有什么建议吗?