发送一个员额的请求:系统。网。WebException
-
05-07-2019 - |
题
这不是我第一次使用这种方法发送一个员额的请求,并且我从未有过任何问题:
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();
}
在请求。GetRequestStream()我得到一个系统。网。WebException:基础连接被关闭:一个意想不到的错误发生在发送。
更有趣的,它工作得很好,对某些机器,但是没工作我的机器(Windows7测试)和生产服务器(Windows服务器2008年)。更多信息:
工作-Windows Xp.网2.0
工作-Windows Xp.净3.5
工作--Windows服务器2003-.净3.0
没工作-Windows Vista.净3.5
没工作-Windows服务器2008-.净3.5
没工作-Windows7Β-.净3.5SP1
尝试:
[解决。有点]
我忘了说了,但是Uri https...我试图http,它的工作。真不敢相信,我没有尝试,迟早...
仍然,我将不胜感激,如果有人将闪耀光在这整个的情况。
解决方案
我的第一个计划的攻击是使用 查看 来看看发生了什么事处网络的水平在每一种情况。看看有什么每个机发送。
此外,你已经指出的差异之间的操作系统,但它们都具有完全相同的版本。网(下SP)安装?
其他提示
做得到工作?也许这是一个代理配置问题(proxycfg
等等)。
还把事情简单化(减少的数量未知数),考虑使用 WebClient
要做到的员额:
using (WebClient client = new WebClient())
{
client.Headers.Add("content-type","application/x-www-form-urlencoded");
client.UploadData(address, data);
// or more simply
client.UploadValues(address, nameValuePairs);
}
试着调整一个或多个下列选项:
- SendChucked
- AllowAutoRedirect
- TransferEncoding
也可以尝试以注意它们之间的差异与你的各种各样的配置。
不隶属于 StackOverflow