【发布时间】:2015-07-05 08:15:45
【问题描述】:
我只在一台运行 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;
【问题讨论】:
-
哪一行抛出异常?
-
@Jon 你的 URL 是 https,看起来证书可能无效。您需要接受 cert 。 ServicePointManager.ServerCertificateValidationCallback = 委托 { 返回真; };尝试添加这个。
-
@loneshark99 不。这是一个可怕而肮脏的黑客,不应该放在任何生产代码中。无论如何,https 协议完全由 HttpWebRequest 处理;无需手动弄乱安全的 tcp 连接的东西。
-
当然,我试图建议这是否是导致它的原因。即来自服务器的证书
标签: c# windows-server-2003 system.net.webexception