C # Загрузка HTML с веб-сайта после входа в систему - PullRequest
0 голосов
/ 27 марта 2012

Я недавно искал способ получения данных с веб-сайта с использованием C #.Я пытался использовать объект WebBrowser для навигации и входа в систему, и это работало нормально, но я продолжаю сталкиваться с одной и той же проблемой снова и снова: при переходе на нужную страницу я отключаюсь.

Я пыталсяНесколько вещей, например, убедитесь, что существует только один HtmlDocument, но я все еще выхожу из системы.

TLDR: как вы остаетесь в системе, со страницы на страницу, при навигации по сайту с помощью WebBrowser? Или есть лучшие альтернативы?

РЕДАКТИРОВАТЬ: Пока у меня есть следующий код:

currentWebBrowser = new WebBrowser();
currentWebBrowser.DocumentText = @"<head></head><body></body>";
currentWebBrowser.Url = new Uri("about:blank");
currentWebBrowser.Navigate("http://google.com");

HttpWebRequest Req = (HttpWebRequest) WebRequest.Create("http://google.com");
Req.Proxy = null;
Req.UseDefaultCredentials = true;
HttpWebResponse Res = (HttpWebResponse)Req.GetResponse();

currentWebBrowser.Document.Cookie = Res.Cookies.ToString();

В какой момент я должен получить куки?И мой код правильный?

1 Ответ

2 голосов
/ 27 марта 2012

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

...