我使用的是.net 4.0版本,并且在本地系统中运行良好,但是当托管在服务器中时,出现错误“请求被中止无法创建ssl / tls安全通道”错误。
如何解决?
public static string GetResponse(HttpWebRequest request)
{
try
{
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
var response = (HttpWebResponse)request.GetResponse();
var enc = System.Text.Encoding.GetEncoding("utf-8");
var responseStream = new StreamReader(response.GetResponseStream(), enc);
var result = string.Empty;
result = responseStream.ReadToEnd();
response.Close();
return result;
}
catch (WebException ex)
{
Trace.WriteLine(ex.Message);
return "";// ex.Message;
}
catch (Exception e)
{
Trace.WriteLine(e.Message);
return "";// e.Message;
}
}
答案 0 :(得分:0)
您是否尝试过将.Net版本更新为4.6或更高版本。我怀疑您所连接的网站已升级了其Web服务器,并且已弃用.Net 4.0客户端用于连接的SSL方法。
答案 1 :(得分:0)
这将是更好的方法:
ServicePointManager.SecurityProtocol |= (SecurityProtocolType) 3840;
与您专门设置TLS 1.2的情况不同,上述示例只是添加 TLS 1.1。和TLS 1.2。
或者,这也可能是由于证书错误,客户/服务器时间戳不正确以及许多其他问题所致。尝试在浏览器中打开它。可以吗?