流只能讀取一次的問題
阿新 • • 發佈:2018-12-10
問題描述,直接看圖
上一段測試程式碼
public void test() { //string url = "https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&e=0&l=M&s=5&d=72&v=4&t=#{t}"; //url = url.Replace("#{t}", rand.NextDouble().ToString()); HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&e=0&l=M&s=5&d=72&v=4&t=#{t}".Replace("#{t}", rand.NextDouble().ToString())); //HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); //req.Method = "get"; req.CookieContainer = BLL.SmartQQ.Tool.Http.cookies; HttpWebResponse res = (HttpWebResponse)req.GetResponse(); BLL.SmartQQ.Tool.Http.cookies.Add(res.Cookies); Stream responseStream = res.GetResponseStream(); //int contentLength = (int)res.ContentLength; //int offset = 0; //byte[] buffer = new byte[contentLength]; //while (contentLength > 0) //{ // int num3 = responseStream.Read(buffer, offset, contentLength); // if (num3 == 0) // { // break; // } // contentLength -= num3; // offset += num3; //} //pictureBoxQRCode.Image = Image.FromStream(new MemoryStream(buffer)); pictureBoxQRCode.Image = Image.FromStream(res.GetResponseStream()); //pictureBoxQRCode.Image = Image.FromStream(responseStream); }
res.GetResponseStream() 讀取流, 在不為多次讀取流而做操作的時候, 預設只能讀一次
讀完之後再次使用res.GetResponseStream()讀取流的話, 程式碼會爆異常