Я пытаюсь использовать Rohit Agarwal BrowserSession вместе с HtmlAgilityPack для входа в систему и последующего перемещения по Facebook.
Ранее мне удалось сделать то же самое, написав собственный HttpWebRequest. Тем не менее, он работает только тогда, когда я вручную извлекаю cookie из своего браузера и вставляю новую строку cookie в запрос каждый раз, когда я делаю новый "сеанс". Теперь я пытаюсь использовать BrowserSession для более разумной навигации.
Здесь текущий код:
BrowserSession b = new BrowserSession();
b.Get(@"http://www.facebook.com/login.php");
b.FormElements["email"] = "[email protected]";
b.FormElements["pass"] = "xxxxxxxx";
b.FormElements["lsd"] = "qDhIH";
b.FormElements["trynum"] = "1";
b.FormElements["persistent_inputcheckbox"] = "1";
var response = b.Post(@"https://login.facebook.com/login.php?login_attempt=1");
Вышеописанное работает отлично. Проблема возникает, когда я снова пытаюсь использовать этот BrowserSession для получения другой страницы. Я делаю это так, так как BrowserSession сохраняет файлы cookie из последнего ответа и вставляет их в следующий запрос, поэтому мне не нужно вручную вручную добавлять cookie файлы из моего браузера.
Однако, когда я пытаюсь сделать что-то вроде этого:
var profilePage = b.Get(@"https://m.facebook.com/profile.php?id=1111111111");
документ, который я возвращаю, пуст. Я был бы признателен за любой вклад в то, что я делаю неправильно.