我使用.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();
}
}