Downloader Ver.II
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System; using System.Threading.Tasks; using static System.Console; namespace Downloader_Ver.II { class Program { private static string uRL, savePath, username, password, speed; public static string URL { get => uRL; set => uRL = value; } public static string SavePath { get => savePath; set => savePath = value; } public static string Username { get => username; set => username = value; } public static string Password { get => password; set => password = value; } public static string Speed { get => speed; set => speed = value; } static void Main(string[] args) { Write("URL :"); URL = ReadLine(); Write("SavePath :"); SavePath = ReadLine(); Write("Username :"); Username = ReadLine(); Write("Password :"); Password = ReadLine(); Write("Speed :"); Speed = ReadLine(); Bulid(); ProcessStartInfo processInfo = new ProcessStartInfo($"{SavePath}\\DownloadVer.II.bat", "2>&1") { WorkingDirectory = Directory.GetCurrentDirectory(), CreateNoWindow = true, UseShellExecute = false, RedirectStandardOutput = true }; Process proc = Process.Start(processInfo); proc.EnableRaisingEvents = true; proc.Exited += new EventHandler(ProcExit); proc.OutputDataReceived += new DataReceivedEventHandler(OutputHandler); proc.BeginOutputReadLine(); proc.WaitForExit(); } private static void ProcExit(object sender, EventArgs e) { WriteLine("Done."); } private static void OutputHandler(object sender, DataReceivedEventArgs e) { if (!String.IsNullOrEmpty(e.Data)) { WriteLine(e.Data); } } private static void Bulid() { File.Copy("wget.exe", $"{SavePath}\\wget.exe", true); FileStream fileStream = new FileStream($"{SavePath}\\DownloadVer.II.bat", FileMode.Create, FileAccess.Write); StreamWriter streamWriter = new StreamWriter(fileStream); streamWriter.Write($"wget.exe -c -e "); bool hasHttps = URL[4] == 's'; bool hasUsername = Username != ""; bool hasPassword = Password != ""; bool hasSpeed = Speed != ""; if (hasHttps) { if (hasUsername) { if (hasSpeed) { streamWriter.Write($"--limit-rate={Speed} robots=off -x --user={Username} --password={Password} -m --no-check-certificate "); } else { streamWriter.Write($"robots=off -x --user={Username} --password={Password} -m --no-check-certificate "); } } else { if (hasSpeed) { streamWriter.Write($"--limit-rate={Speed} robots=off -x -m --no-check-certificate "); } else { streamWriter.Write($"robots=off -x -m --no-check-certificate "); } } } else { if (hasUsername) { if (hasSpeed) { streamWriter.Write($"--limit-rate={Speed} robots=off -x --user={Username} --password={Password} -m "); } else { streamWriter.Write($"robots=off -x --user={Username} --password={Password} -m "); } } else { if (hasSpeed) { streamWriter.Write($"--limit-rate={Speed} robots=off -x -m "); } else { streamWriter.Write($"robots=off -x -m "); } } } streamWriter.Write($"\"{URL}\""); streamWriter.Close(); } } }