Как правильно вызвать метод? - C# (189385)
Формулировка задачи:
общий код :
как правильно его вызвать ?
public class ChromeCookieReader { static void Main(string[] args) { ReadCookies("2ip.ru"); Console.WriteLine(); Console.ReadLine(); } static public IEnumerable<Tuple<string, string>> ReadCookies( string hostName) { if (hostName == null) throw new ArgumentNullException("hostName"); var dbPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Google\Chrome\User Data\Default\Cookies"; if (!System.IO.File.Exists(dbPath)) throw new System.IO.FileNotFoundException("Cant find cookie store", dbPath); // race condition, but i'll risk it var connectionString = "Data Source=" + dbPath + ";pooling=false"; using (var conn = new System.Data.SQLite.SQLiteConnection(connectionString)) using (var cmd = conn.CreateCommand()) { var prm = cmd.CreateParameter(); prm.ParameterName = "hostName"; prm.Value = hostName; cmd.Parameters.Add(prm); cmd.CommandText = "SELECT name,encrypted_value FROM cookies WHERE host_key = @hostName"; conn.Open(); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var encryptedData = (byte[])reader[1]; var decodedData = System.Security.Cryptography.ProtectedData.Unprotect(encryptedData, null, System.Security.Cryptography.DataProtectionScope.CurrentUser); var plainText = Encoding.ASCII.GetString(decodedData); // Looks like ASCII yield return Tuple.Create(reader.GetString(0), plainText); } } conn.Close(); } } }
Решение задачи: «Как правильно вызвать метод?»
textual
Листинг программы
static void Main(string[] args) { var list=ReadCookies("2ip.ru"); foreach(var item in list) Console.WriteLine("{0} | {1}", item.Item1, item.Item2); Console.WriteLine(); Console.ReadLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д