??? 最近遇到一個問題請教下,在一個時間控件中寫了一個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);
在最后一句會有異常
- 4 回答
- 0 關注
- 574 瀏覽
添加回答
舉報
0/150
提交
取消