Войдите на веб-сайт и установите User Agent с помощью Html Agility Pack. - PullRequest
2 голосов
/ 15 мая 2019

Я пытаюсь почистить данные из Facebook, но у меня проблемы с входом в систему.

Я использую Html Agility Pack и обнаружил почти рабочий код.Сначала я пытаюсь войти в мобильную версию Facebook (это проще), а затем очищать сообщения с другого сайта (https://m.facebook.com/messages/?no_hist=1).). Это работает, но после входа в систему я получил сообщение «неподдерживаемый браузер», и мне нужно установить User Agent. Iпопытался установить HttpClient DefaultRequestHeaders, но когда я добавил это в свой код, логин перестает работать, и появляется сообщение «Войти в Facebook».

Вот мой метод входа:

async private void login(string username, string password)
        {
            HttpClient hc = new HttpClient();

            hc.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36");

            HttpResponseMessage resultLogin = await hc.PostAsync("https://m.facebook.com/", new StringContent("login="+username+"&password="+password, Encoding.UTF8, "application/x-www-form-urlencoded"));

            HttpResponseMessage resultPlaylist = await hc.GetAsync("https://m.facebook.com/messages/?no_hist=1");

            Stream stream = await resultPlaylist.Content.ReadAsStreamAsync();

            HtmlDocument doc = new HtmlDocument();

            doc.Load(stream);

            string webContent = doc.DocumentNode.InnerHtml;

            HtmlNode[] nodes = doc.DocumentNode.SelectNodes("//div").ToArray();
            foreach (HtmlNode item in nodes)
            {
                Console.WriteLine(item.InnerHtml);
            }
        }

Этот код должен найти все и показать их содержимое в консоли, и он делает, но я получаю данные с сайта входа Facebook вместо сайта Messenger.

1 Ответ

1 голос
/ 15 мая 2019

Вы пробовали hc.DefaultRequestHeaders.UserAgent.ParseAdd («Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 74.0.3729.131 Safari / 537.36»);

Редактировать: также загрузите https://www.telerik.com/fiddler и используйте ваш браузер для входа в систему и посмотрите, показывает ли фидлер то же самое.

...