public KLKresponse getRequestKBWKlk(string uri, string savePath, int i) { KLKresponse res = new KLKresponse(); KLKresponse result; if (i < this.servers2.Length) { System.Uri target = new System.Uri(this.servers2[i] + uri); System.Net.WebRequest req = System.Net.WebRequest.Create(target); req.Timeout = this.timeout; req.Method = "GET"; req.PreAuthenticate = true; req.ContentType = "application/x-www-form-urlencoded"; try { System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)req.GetResponse(); if (System.IO.File.Exists(savePath) && response != null && System.DateTime.Compare(System.IO.File.GetLastWriteTime(savePath), response.LastModified) >= 0) { response.Close(); res.setCode(new Code(0)); result = res; return result; } if (response != null) { System.IO.Stream receiveStream = response.GetResponseStream(); System.Text.Encoding encode = System.Text.Encoding.GetEncoding("utf-8"); System.IO.StreamReader readStream = new System.IO.StreamReader(receiveStream, encode); string a = ""; char[] read = new char[256]; for (int count = readStream.Read(read, 0, 256); count > 0; count = readStream.Read(read, 0, 256)) { string str = new string(read, 0, count); a += str; } response.Close(); readStream.Close(); res.setCode(new Code(0)); try { System.IO.StreamWriter sw = new System.IO.StreamWriter(savePath, false); sw.Write(a); sw.Close(); res.setSaved(true); } catch (System.Exception e) { res.setException(e); result = res; return result; } } else { this.getRequestKlk(uri, savePath, i++); } } catch (System.Net.WebException) { i++; result = this.getRequestKBWKlk(uri, savePath, i); return result; } result = res; } else { result = res; } return result; }
public KLKresponse getRequestKBWKlkDocx(string uri, string savePath, int i) { int bytesProcessed = 0; KLKresponse res = new KLKresponse(); KLKresponse result; if (i < this.servers2.Length) { System.Uri target = new System.Uri(this.servers2[i] + uri); System.Net.WebRequest req = System.Net.WebRequest.Create(target); req.Timeout = this.timeout; req.Method = "GET"; req.PreAuthenticate = true; req.ContentType = "application/x-www-form-urlencoded"; try { System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)req.GetResponse(); if (System.IO.File.Exists(savePath) && response != null && System.DateTime.Compare(System.IO.File.GetLastWriteTime(savePath), response.LastModified) >= 0) { response.Close(); res.setCode(new Code(0)); result = res; return result; } if (response != null) { System.IO.Stream receiveStream = response.GetResponseStream(); System.IO.Stream localStream = System.IO.File.Create(savePath); byte[] buffer = new byte[1024]; int bytesRead; do { bytesRead = receiveStream.Read(buffer, 0, buffer.Length); localStream.Write(buffer, 0, bytesRead); bytesProcessed += bytesRead; } while (bytesRead > 0); response.Close(); localStream.Close(); } else { this.getRequestKlk(uri, savePath, i++); } } catch (System.Net.WebException) { i++; result = this.getRequestKBWKlk(uri, savePath, i); return result; } result = res; } else { result = res; } return result; }