static int Main(string[] args) { if (args.Length == 0) { return(Help()); } MonoGet mget = new MonoGet(); ArrayList urls = new ArrayList(); foreach (string arg in args) { switch (arg.ToLower()) { case "--no-check-certificate": ServicePointManager.CertificatePolicy = mget; break; case "--secure-protocol=auto": ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls; break; case "--secure-protocol=sslv3": ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; break; case "--secure-protocol=tlsv1": ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; break; case "--secure-protocol=sslv2": Console.WriteLine("SSLv2 isn't supported in the framework"); return(Help()); case "--help": case "--?": return(Help()); default: if (arg.StartsWith("--")) { Console.WriteLine("Unknown {0} option.", arg); return(Help()); } else { urls.Add(arg); } break; } } if (urls.Count == 0) { return(Help()); } int status = 0; foreach (string url in urls) { string filename = Path.GetFileName(url); if (filename.Length == 0) { filename = "default"; } string savename = filename; int n = 1; while (File.Exists(savename)) { savename = String.Concat(filename, ".", n.ToString()); n++; } Console.WriteLine("{0}\tGET {1}", DateTime.UtcNow.TimeOfDay, url); Console.WriteLine("\tsaving to: {0}", savename); long size = -1; DateTime start = DateTime.UtcNow; try { size = mget.Get(url, savename); } catch (Exception e) { Console.WriteLine("transfer incomplete due to exception: {0}", e); status++; } finally { Console.WriteLine("completed {0} bytes in {1}.", size, (DateTime.UtcNow - start)); } } return(status); }
static int Main (string[] args) { if (args.Length == 0) return Help (); MonoGet mget = new MonoGet (); ArrayList urls = new ArrayList (); foreach (string arg in args) { switch (arg.ToLower ()) { case "--no-check-certificate": ServicePointManager.CertificatePolicy = mget; break; case "--secure-protocol=auto": ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls; break; case "--secure-protocol=sslv3": ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; break; case "--secure-protocol=tlsv1": ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; break; case "--secure-protocol=sslv2": Console.WriteLine ("SSLv2 isn't supported in the framework"); return Help (); case "--help": case "--?": return Help (); default: if (arg.StartsWith ("--")) { Console.WriteLine ("Unknown {0} option.", arg); return Help (); } else { urls.Add (arg); } break; } } if (urls.Count == 0) return Help (); int status = 0; foreach (string url in urls) { string filename = Path.GetFileName (url); if (filename.Length == 0) filename = "default"; string savename = filename; int n = 1; while (File.Exists (savename)) { savename = String.Concat (filename, ".", n.ToString ()); n++; } Console.WriteLine ("{0}\tGET {1}", DateTime.UtcNow.TimeOfDay, url); Console.WriteLine ("\tsaving to: {0}", savename); long size = -1; DateTime start = DateTime.UtcNow; try { size = mget.Get (url, savename); } catch (Exception e) { Console.WriteLine ("transfer incomplete due to exception: {0}", e); status++; } finally { Console.WriteLine ("completed {0} bytes in {1}.", size, (DateTime.UtcNow - start)); } } return status; }