这不是我第一次使用这种方法发送 POST 请求,而且我从来没有遇到任何问题:
public static Stream SendPostRequest(Uri uri, byte[] postData)
{
var request = WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postData.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postData, 0, postData.Length);
requestStream.Close();
return request.GetResponse().GetResponseStream();
}
在 request.GetRequestStream() 我收到 System.Net.WebException:底层连接已关闭:发送时发生意外错误。
更有趣的是,它在某些机器上运行良好,但不能在我的机器(Windows 7 Beta)和生产服务器(Windows Server 2008)上运行。更多信息:
工作 - Windows Xp - .NET 2.0
工作 - Windows Xp - .NET 3.5
工作 - Windows Server 2003 - .NET 3.0
不起作用 - Windows Vista - .NET 3.5
不起作用 - Windows Server 2008 - .NET 3.5
不起作用t 工作 - Windows 7 测试版 - .NET 3.5 SP1
试过:
[解决了。有点]
我忘了提,但 Uri 是 https ......我尝试了 http 并且它有效。不敢相信,我没有早点尝试……
不过,如果有人能对整个情况有所了解,我将不胜感激。