Beispiel #1
0
 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;
 }
Beispiel #2
0
 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;
 }