问题描述,直接看图
上一段测试代码
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()读取流的话, 代码会爆异常