Проект №02. Регулярные выражения, чтение файла. | Блог программиста C# .Net, C++

В предыдущей части я начал писать программу, которая бы смогла читать Cookies от браузеров Mozilla Firefox и Internet Explorer. Уже успел определить пути до самих файлов с Cookies, теперь их нужно прочитать и вытащить нужную информацию.

2. Вытащить логин-пароль из файлов Cookies.

Перед тем, как отфильтровать данные из файла с Cookies нужно его открыть. Открывать будем так:

string InputStr;
using (StreamReader reader = new StreamReader(path))
{ InputStr = reader.ReadToEnd();
}

И тут я уже получил проблему. Дело в том, что Mozilla Firefox не захотел давать доступ даже для чтения и я получал ошибку – файл занят другим процессом. Не долго думая, я сделал так: файл скопировал в другое место, потом этот скопированный файл открыл, получил то что надо и его удалял. В итоге – заработало!

string pathFirefoxCopy = @"C:\cookies.txt";
if (!File.Exists(pathFirefoxCopy))
{ FileInfo filed = new FileInfo(pathFirefox); filed.CopyTo(pathFirefoxCopy);
}

Ну с открытием разобрался, теперь нужно вытащить из него только те данные, которые нам нужны. Для этого я воспользовался регулярными выражениями, хотя думаю можно было бы и обойтись стандартными строковыми функциями.

Так как Mozilla Firefox и Internet Explorer немного по разному записывают информацию, пришлось составлять 2 пары регулярных выражений(пары – так как один на логин, один на пароль). Сразу хочу сказать, что с Регулярными выражениями я вообще криво, поэтому немного и кривой результат вышел.

//Для Mozilla Firefox
Match loginMF = Regex.Match(InputStr, @"remixemail[\w.-]+%40[\w.]+.vkontakte.ru");
Match passMF = Regex.Match(InputStr, @"remixpass[\w]{32}");
//Для Internet Explorer
Match loginIE = Regex.Match(InputStrIE, @"\n[\w.-]+%40[\w.]+\n");
Match passIE = Regex.Match(InputStrIE, @"\n[\w]{32}\n");

Далее пришлось, с помощью Replace убить некоторые недочёты, и в итоге я получил нужные мне данные.

Ну, а дальше дело дизайна, сейчас оформлю и выложу в Мои программы.

google_bmarks-3199804 bobrdobr-8496851 delicious-6259604 technorati-5974838 linkstore-6108218 news2-ru-8340610 rumark-1670680 memori-6836799 moemesto-9742977 Что можно ещё почитать:

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.