我有一个连接到远程服务器的应用程序。 当它无法连接时,运行Diagnostics()函数。 诊断中的一点是检查443端口。我用下一个代码检查它:
public static bool Check443Port(string host)
{
if (String.IsNullOrEmpty(host))
return false;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("https://" + host);
myReq.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
if (HttpWResp.StatusCode != HttpStatusCode.OK)
{
Logger.WriteLine("Connection to 443 failed: " + HttpWResp.StatusDescription);
return false;
}
HttpWResp.Close();
Logger.WriteLine("Connection to 443 succeeded");
return true;
}
通常它工作正常。但是有一个用户发给我这个函数返回FALSE的日志,但443端口是打开的(用户说)。 真的,从我发现的日志中,443端口没有问题,但是当我检查它时,它返回FALSE。
可能是什么问题?可能我需要另一个443端口测试吗?
P.S。错误是"远程服务器返回错误:(400)错误请求。"