求大神,关于HttpWebRequest接收不完数据的问题!
string reponse
byte[] data = this.encoder.GetBytes(request);
HttpWebRequest http = WebRequest.Create(url) as HttpWebRequest;
http.Timeout = 2000;
http.ContentType = "application/soap+xml; charset=utf-8";
http.ContentLength = data.Length;
http.Method = "POST";
using (Stream writer = http.GetRequestStream()) {
writer.Write(data, 0, data.Length);
}
using (WebResponse resp = http.GetResponse()) {
using (StreamReader reader = new StreamReader(resp.GetResponseStream(), this.encoder, false, (int)resp.ContentLength)) {
response = reader.ReadToEnd();
}
}
这个运行完以后,response只获取到一部分数据,而有些地址能获取到完整的数据,谁遇到过这种情况?猜测是http的版本问题,会是吗? HttpWebRequest Response ReadToEnd 一部分
[解决办法]
可能是post的内容不正确,所有返回的数据就只有部分了
[解决办法]
是不是网站响应的比较慢?Timeout设置长一点看看。
[解决办法]
using (StreamReader streamReader = new StreamReader(getStream, encoding))
{
html = streamReader.ReadToEnd();
}
试试?
[解决办法]
有阻塞 什么的么-0-可以先保留一部分之后排队的取完么
[解决办法]
你看下Response.Headers[System.Net.HttpRequestHeader.ContentEncoding]和Response.Headers[System.Net.HttpRequestHeader.ContentType]
是不是跟你的encoder一样