HttpWebRequest - 底层连接被关闭:发送时发生了意外错误

7
我正在尝试向Web API发布JSON数据并获取返回的JSON对象。我正在使用HttpWebRequest以基本身份验证方式发布到https地址。在request.GetResponse()上,我收到了一个错误:

The underlying connection was closed: An unexpected error occurred on a send.

并且存在内部异常:

Received an unexpected EOF or 0 bytes from the transport stream.

我的测试应用程序是针对.NET 4.0编译的。该应用程序在运行4.5的机器上可以正常工作,但在运行4.0的几台机器上无法运行。升级这些机器到4.5并不是一件简单的任务。在查看跟踪日志时,我注意到故障发生前只有一个差异,如下所示。希望能得到帮助。

System.Net Information: 0 : [5876] ConnectStream#9956401 - Sending headers
{
Content-Type: application/json
Authorization: Basic <encoded base64 auth string is here>
Host: <host name is here>
Content-Length: 130
Expect: 100-continue
Connection: Keep-Alive
}.

在尝试研究此错误时,我遇到了两个经常出现的问题,但似乎都不适用于我的错误,但我仍然尝试了修复方法。我尝试强制使用SSL3(虽然身份验证不是问题),还关闭了Keep-Alive。但是两种方法都没有起作用。
1个回答

1
我遇到了类似的问题。我正在尝试通过 .net WebClient 类下载一个文件。
结果发现 Apache 服务器在 VirtualHost::ServerName 中有错误的名称。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接