рдореИрдВрдиреЗ рдПрдХ рдХреНрд▓рд┐рдХ рд╕реЗ рддреБрд░реНрдХреА рдЯреАрд╡реА рд╢реЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рд┐рдЦрд╛рдпрд╛

рд╢реБрдн рджреЛрдкрд╣рд░
рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╣реИрдВ рдЬреЛ рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рджреЛрд╕реНрдд рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рджреЛрд╕реНрдд рдмрдирдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░рд╛ рдкреВрд░рд╛ рдкрд░рд┐рд╡рд╛рд░ "рдж рдореИрдЧреНрдиреАрд╕рд┐рдпрд╕ рд╕реЗрдВрдЪреБрд░реА " рд╢реНрд░реГрдВрдЦрд▓рд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдЬрд╛рд░реА рдХреА рдЬрд╛рддреА рд╣реИред рдРрд╕рд╛ рдЕрдХреНрд╕рд░ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рдирд┐рд╡рд╛рд░ рдХреЗ рдмрд╛рдж рд╢рдирд┐рд╡рд╛рд░ рдХреЛ, "рдЬрд╛рдУ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ, рддреЛ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ" рд╕реБрдирдХрд░, рд╡рд┐рддрд░рдг рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рдПрдХ рдзрд╛рд░ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ рдЗрддрдирд╛ рдердХ рдЧрдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЪреМрдереЗ рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдХрдВрдзреЛрдВ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП:
- рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдпрд╛ рдЙрдЪреНрдЪрддрд░
- рдХрдВрд╕реЛрд▓ рдЯреЛрд░реЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ Aria2c ред

рд╕рд╛рд╡рдзрд╛рдиреА, рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рд╣рд┐рдВрджреВ рдХреЛрдб рд╣реИ! рдореИрдВрдиреЗ рдЪреЗрддрд╛рд╡рдиреА рджреАред

рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдпрд╣ рдХрд╛рд░реНрдп рдерд╛: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЯреЛрд░реЗрдВрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдВрд╕реЛрд▓ рдЯреЛрд░реЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЦрд┐рд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдПрдХ рдпреВрдПрд╕рдмреА рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ (рдпреВрдПрд╕рдмреА рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдЯреАрд╡реА рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рддреБрд░реНрдХреА рдореЗрдВ рдмреБрдзрд╡рд╛рд░ рдХреЛ рдЬрд╛рд░реА рдХреА рдЧрдИ рд╣реИ, рд╢рдирд┐рд╡рд╛рд░-рд░рд╡рд┐рд╡рд╛рд░ рдХреЛ рд╣рдорд╛рд░реЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд╕рд╛рдеред рджреВрд╕рд░реЗ рджрд┐рди, 96 рдПрдкрд┐рд╕реЛрдб рдЬрд╛рд░реА рдХрд┐рдП рдЧрдПред рдЕрдм рдХреИрд▓реЗрдВрдбрд░ 18 рд╕рдкреНрддрд╛рд╣ рдХрд╛ рд╣реИред рддреЛ, рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╕рдкреНрддрд╛рд╣ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ 78 рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрджрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрдХ рдХрд╛рд░реНрдпрджрд┐рд╡рд╕ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ 79ред
рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo; DateTime date1 = DateTime.Now; Calendar cal = dfi.Calendar; var week = cal.GetWeekOfYear(date1, dfi.CalendarWeekRule, dfi.FirstDayOfWeek); var day = (int)cal.GetDayOfWeek(date1) == 0 ? 6 : (int)cal.GetDayOfWeek(date1) - 1; //     ,   GetDayOfWeek  0  ,     . GetWeekOfYear    ,     var epnumber = week + 79 - ((day < 5) ? 1 : 0); 


рдЕрдм рдЬрдм рд╣рдо рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдВрдЦреНрдпрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╣рдо рдЯреНрд░реИрдХрд░ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, login.php рдкреГрд╖реНрда рдкрд░ рдПрдХ POST рдЕрдиреБрд░реЛрдз рдмрдирд╛рдПрдВ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЙрдЧрд┐рди-рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбрд╝реА рдкрд╛рд╕ рдХрд░реЗрдВред

 byte[] buffer = Encoding.ASCII.GetBytes("login_username=_&login_password=_&login=%C2%F5%EE%E4"); HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create("http://login.rutracker.org/forum/login.php");//  Post- var cc = new CookieContainer(); WebReq.CookieContainer = cc;//  WebReq.Method = "POST"; WebReq.ContentType = "application/x-www-form-urlencoded"; WebReq.ContentLength = buffer.Length; HttpWebResponse WebResp; try { Stream PostData = WebReq.GetRequestStream(); PostData.Write(buffer, 0, buffer.Length); PostData.Close(); WebResp = (HttpWebResponse)WebReq.GetResponse(); } catch (Exception e) { MessageBox.Show(" ", " ", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } 

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рд░реНрд╡рд░ рдиреЗ рд╣рдореЗрдВ рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреБрдХреА рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рди рджрд┐рдпрд╛, рдЬреЛ рд╣рдорд╛рд░реЗ рд╕реАрд╕реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЕрдм рдЗрд╕ рдХреБрдХреА рдХреЗ рд╕рд╛рде рдЖрдк рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
  var url = @"http://rutracker.org/forum/tracker.php?nm=%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%BB%D0%B5%D0%BF%D0%BD%D1%8B%D0%B9%20%D0%B2%D0%B5%D0%BA%20sub%20"+epnumber; WebReq = (HttpWebRequest)WebRequest.Create(url); WebReq.CookieContainer = cc; WebReq.Method = "GET"; WebReq.ContentType = "application/x-www-form-urlencoded"; WebResp = (HttpWebResponse)WebReq.GetResponse(); string result; Encoding responseEncoding = Encoding.GetEncoding(WebResp.CharacterSet); try { using (StreamReader sr = new StreamReader(WebResp.GetResponseStream(), responseEncoding)) { result = sr.ReadToEnd(); } } catch (Exception e) { MessageBox.Show(" ", " ", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } 


рдкреНрд░рдкрддреНрд░ dl.rutracker.org/forum/dl.php?12345 рдХреА рдзрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЦреЛрдЬ рдкреГрд╖реНрда:

  string pattern = @"http://dl.rutracker.org/forum/dl.php\?t=\d+"; Regex regex = new Regex(pattern); Match match = regex.Match(result); if (match.Length == 0) { MessageBox.Show("    !", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else AutoClosingMessageBox.Show("  !  .", "Caption", 3000); 


рдзрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓реА рд╣реИ, рдЗрд╕реЗ рдЕрдкрдиреА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ:
  try { WebReq = (HttpWebRequest)WebRequest.Create(match.ToString()); WebReq.CookieContainer = cc; WebReq.AllowAutoRedirect = false; WebReq.Method = "POST"; WebReq.Referer = url; WebReq.ContentType = "application/x-www-form-urlencoded"; /*   */ Stream ReceiveStream = WebReq.GetResponse().GetResponseStream(); string filename = @"C:\123.torrent"; byte[] buffer1 = new byte[1024]; FileStream outFile = new FileStream(filename, FileMode.Create); int bytesRead; while ((bytesRead = ReceiveStream.Read(buffer1, 0, buffer.Length)) != 0) outFile.Write(buffer1, 0, bytesRead); outFile.Close(); ReceiveStream.Close(); } catch (Exception e) { MessageBox.Show("   -!", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } 


рдЕрдм рд╣рдо рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрд╢реБрдн рд░рд┐рд╢реНрддреЗрджрд╛рд░ USB рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдбрд╛рд▓рдирд╛ рднреВрд▓ рдЧрдП рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЙрд╕ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЧрд╣ рд╣реИ:

 string letter = ""; foreach (DriveInfo i in System.IO.DriveInfo.GetDrives()) { try { if (i.DriveType.ToString() == "Removable" && i.ToString() != "A:\\") { if (i.TotalFreeSpace < 3000000000) { MessageBox.Show("   ,  3!", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } letter = String.Copy(i.ToString()); break; } //Console.WriteLine(i.DriveType); } catch (Exception E) { return; } } if (letter == "") { MessageBox.Show(" !", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } 


рдЕрдВрдд рдореЗрдВ, рд╕рдм рдХреБрдЫ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рдЖрдк рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!

  string par = @"--seed-time=0 -d " + letter + " --select-file="+(epnumber-3)+ @" ""C:\123.torrent"" "; //--seed-time=0 -    ,  .      ,    . //-d -          //--select-file -  ,   .     ,     3. Process P = Process.Start(@"C:\aria2-1.17.0-win-32bit-build1\aria2-1.17.0-win-32bit-build1\aria2c.exe", par); P.WaitForExit(); int result1 = P.ExitCode; Console.WriteLine(result1); if (result1 == 0) { MessageBox.Show(" !   !", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(" !", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } 


рдпрд╣реА рд╣реИ, рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рд╣реИ рдФрд░ рджреЗрдЦреЗ рдЬрд╛рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реА рд╣реИред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреВрд░рд╛ рдкрд╛рда http://pastebin.com/8L03vkJg рдкрд░ рд╣реИ ред
рдЕрдкрдиреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреЗрдВред

PS рд╣рд╛рдБ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ Per / PHP / Python / рдореЗрдВ ... рдЖрдк рдХрдИ рдмрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рд╕реНрд╡-рд╢рд┐рдХреНрд╖рд╛ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

Source: https://habr.com/ru/post/In178493/


All Articles