C#System.Net.WebException:底层连接已关闭:发送时发生意外错误

Jon*_*Jon 15 c# windows-server-2003 system.net.webexception

我只在一台运行Windows Server 2003的服务器上收到此错误:

System.Net.WebException:基础连接已关闭:发送时发生意外错误.


这是我的代码......有什么想法吗?

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https:// URL HERE ");
//request.Headers.Add("Accept", "application/xml");
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(xml);
request.KeepAlive = false;
request.Accept = "application/xml";
request.ContentType = "application/xml; charset='UTF-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
request.Timeout = 10000;
request.ServicePoint.Expect100Continue = false;
Run Code Online (Sandbox Code Playgroud)

Bar*_*ann 27

将HttpWebRequest.KeepAlive设置为false对我不起作用.

由于我访问的是HTTPS页面,因此我必须将服务点安全协议设置为Tls12.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)

请注意,还有其他SecurityProtocolTypes:

SecurityProtocolType.Ssl3 
SecurityProtocolType.Tls
SecurityProtocolType.Tls11
Run Code Online (Sandbox Code Playgroud)

因此,如果Tls12不适合您,请尝试其余三个选项.

另请注意,您可以设置多个协议.在大多数情况下这是优选的.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12| SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
Run Code Online (Sandbox Code Playgroud)

  • 由于这是一个安全标准的选择,显然最好采用最新的(写作时为TLS 1.2),而不仅仅是做有效的.事实上,SSL3已经[自2015年起被正式禁止使用](https://tools.ietf.org/html/rfc7568)和TLS 1.0将[可能在2018年6月被禁止](https://blog.pcisecuritystandards.组织/迁移 - 从-SSL-和早期-TLS). (2认同)
  • 如果您陷入.net Framework 4.0,您可以使用“ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;”相当于 TLS 1.2 (2认同)
  • @ScottFraley 在你提出实际请求之前。 (2认同)

Kev*_*tor 9

使用.NET 4.5的RestSharp我得到了同样的错误.我用cURL测试了相同的URL,它工作正常.经过长时间的调试后,我发现设置SecurityProtocol解决了这个问题.

请参阅:"基础连接已关闭:发送时发生意外错误." 使用SSL证书


Don*_*Yan -8

当客户端计算机无法发送 HTTP 请求时,就会出现此问题。由于连接已关闭或不可用,客户端计算机无法发送 HTTP 请求。当客户端计算机发送大量数据时,可能会出现此问题。要解决此问题,请参阅决议 A、D、E、F 和 O。

https://support.microsoft.com/en-us/kb/915599

  • 答案中的链接不再有效,有更新的链接吗? (5认同)
  • 微软一直以来都是链接失效的冠军 (5认同)
  • 链接不可用:( (5认同)
  • 让我们知道哪一个选项(A、D、E、F、O)适合您 (3认同)