最近遇到一个问题请教下,在一个时间控件中写了一个HttpWebRequest以post的形式发送,设置了发送超时5秒,但当我网络不好断了一段时间网络,然后再连接上后,就不可以继续发送请求了,不知道有没有什么可以修复的方法和属性,下面是我的代码段
strParams = HttpUtility.UrlPathEncode(strParams);
byte[] byteRequest = Encoding.Default.GetBytes(strParams);//编码
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(new Uri(consumer.ConsumerAddress.ToString().Trim()));
httpWebRequest.Credentials = CredentialCache.DefaultCredentials; httpWebRequest.ContentType = "application/x-www-form-urlencoded";//这一个参数似乎是必需的。
httpWebRequest.Method = "POST";//这个是请求方法,必须是POST,这个可以通过分析实际登录的情况得到采用的方法
httpWebRequest.Timeout = consumer.ConsumerTimeOut; httpWebRequest.ContentLength = byteRequest.Length;//POST数据的长度,这个参数是必需的。
httpWebRequest.ProtocolVersion = HttpVersion.Version10; httpWebRequest.KeepAlive = false; //下面是发送数据到服务器
Stream stream = httpWebRequest.GetRequestStream();
stream.Write(byteRequest, 0, byteRequest.Length); stream.Close();
HttpWebResponse webResponse = (HttpWebResponse)httpWebRequest.GetResponse();//取服务器的响应
StreamReader streamReader = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8);
在最后一句会有异常
慕斯709654
Cats萌萌
qq_遁去的一_1