如何绕过SSL证书警告HttpWebRequest .NET

时间:2016-03-15 19:22:46

标签: .net ssl https httpwebrequest warnings

我使用.NET WebRequest作为本地主机浏览到我的Web服务器。这是运行一些定时服务。 我的问题是PCI兼容性我现在必须关闭HTTP 将此webrequest更改为使用HTTPS而不是HTTP会发出安全证书警告,因为证书已连接到我的域名而不是此webrequest正在使用的内部IP地址。

有各种不一样的解决方法,比如在http上设置内部网站只是为了运行这些服务。

我只是想要什么。 也许我可以使用IE手动浏览,然后告诉IE永久接受此安全警告?

我真正想要的是一种以编程方式回答安全警告的方法,如果您手动使用网络浏览器浏览本地主机,就可以通过它获取。

    protected static string GetPage(string url, int timeout)
    {
        WebResponse response = null;
        Stream stream = null;
        StreamReader reader = null;

        try
        {
            // Try to upen the url
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.AllowAutoRedirect = true;
            if (timeout > 0)
                request.Timeout = timeout * 1000;   // convert to seconds
            response = request.GetResponse();

            // We're expecting html text -- not a pdf, xls, etc. file
            if (!response.ContentType.ToLower().StartsWith("text/"))
                return null;

            stream = response.GetResponseStream();
            reader = new StreamReader(stream);
            return reader.ReadToEnd();
        }
        catch (WebException e)
        {
            //Console.WriteLine("Web Exception");
            return null;
        }
        catch (IOException e)
        {
            //Console.WriteLine("IO Exception");
            return null;
        }
        finally
        {
            if (reader != null)
                reader.Close();

            if (stream != null)
                stream.Close();

            if (response != null)
                response.Close();
        }
    }

0 个答案:

没有答案