static async Task Main(string[] args) { if (args.Length < 4) { PrintUsage(); } var domain = args[0]; var username = args[1]; var password = args[2]; var action = args[3]; var actionParameters = args.Skip(4).ToArray(); _scraping = new Scraping(new Uri(domain)); var login = await _scraping.Login(username, password); if (!login) { throw new Exception("Failed to login"); } switch (action) { case "blockdomain": await BlockDomain(actionParameters); break; default: Console.WriteLine($"did not recognize action '{action}'"); break; } }