以下代码引发错误:
“无法从传输连接读取数据:连接已关闭。”-System.IO.IOException。
该方法接收一个 URL 作为参数,执行它并从网络服务器获取响应。
在使用 Stream 读取响应时,liBytesRead = lStream.Read(lBytes, 0, 128);
while 循环内的行会抛出引用的错误。
public bool GetFromUrl(ref string psUrl, ref string rsResult, ref int piTimeoutSeconds)
{
System.Text.StringBuilder lStringB = new System.Text.StringBuilder();
try {
WebRequest lWebRequest = WebRequest.Create(psUrl);
int liTimeout = piTimeoutSeconds * 1000;
lWebRequest.Timeout = liTimeout;
WebResponse lWebResponse = lWebRequest.GetResponse;
Stream lStream = default(Stream);
lStream = lWebResponse.GetResponseStream;
byte[] lBytes = new byte[129];
int liBytesRead = lStream.Read(lBytes, 0, 128);
System.Text.Encoding lEncode = System.Text.Encoding.GetEncoding("utf-8");
while (liBytesRead > 0) {
lStringB.Append(lEncode.GetString(lBytes, 0, liBytesRead));
liBytesRead = lStream.Read(lBytes, 0, 128);
}
lStream.Close();
rsResult = lStringB.ToString();
return true;
} catch (System.IO.IOException e) {
rsResult = e.ToString();
return false;
}
}
知道为什么会这样......
谢谢。