С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 17.12.2013
Сообщений: 230
1

Использование куки webbrowser для HttpWebRequest

11.06.2017, 18:26. Показов 1118. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Провожу авторизацию на сайте в webbrowser и пытаюсь зайти на страницу

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
private void button1_Click(object sender, EventArgs e)
        {
            string OAuthURL = " https://www.facebook.com/login.php?login_attempt=1";
            webBrowser1.Navigate(OAuthURL);
        }
 
        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            Uri site = new Uri("http://www.facebook.com/116939825548161");
          //  Uri site = new Uri("http://www.facebook.com/login.php?next=http%3A%2F%2Fwww.facebook.com%2F116939825548161");
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(site);
            req.CookieContainer = new CookieContainer();
            req.CookieContainer = GetCookieContainer();
            req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko";
            req.AllowWriteStreamBuffering = true;
            req.ProtocolVersion = HttpVersion.Version11;
            req.AllowAutoRedirect = true;
            req.ContentType = "application/x-www-form-urlencoded";
            req.Method = WebRequestMethods.Http.Post;
 
            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
          
            StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding("utf-8"));
            string s = sr.ReadToEnd();
            richTextBox1.Text = s;  //Здесь html страницы для авторизации. А должна быть страница пользователя
 
        }
 
        public CookieContainer GetCookieContainer()
        {
            CookieContainer container = new CookieContainer();
 
            foreach (string cookie in webBrowser1.Document.Cookie.Split(';'))
            {
                string name = cookie.Split('=')[0];
                string value = cookie.Substring(name.Length + 1);
                string path = "/";
                string domain = ".facebook.com"; 
                container.Add(new Cookie(name.Trim(), value.Trim(), path, domain));
            }
 
            return container;
        }
Но меня всё равно редиректит на страницу с авторизацией.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2017, 18:26
Ответы с готовыми решениями:

HttpWebRequest не воспринимает куки на англоязычном сайте
Необходимо получать контент сайта на инглише. Сайт betcityru.com static void...

Как корректно работать с httpWebRequest через webbrowser ?
Здравствуйте. Хочу получить страницу оплаты по запросу и отобразить её в компоненте webBrowser: ...

Повторное использование HttpWebRequest
Задача: получить с сайта html код, взять оттуда некие данные и затем на этот же сайт отправить post...

Ошибка при использование HttpWebRequest
При подключении ссылки System.Net я не могу найти HttpWebRequest. Я использую Visual Studio...

1
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
11.06.2017, 20:45 2
Цитата Сообщение от Darkness190 Посмотреть сообщение
Но меня всё равно редиректит на страницу с авторизацией.
Разумеется, редиректит! Я же Вам в другой теме говорил, что выполнения запроса на ФБ нужна куча параметров, каждый из которых имеет значение и без него сервер не ответит так как нужно/ожидается. А Вы передаете ему только куки, да юзер агент и ожидатете, что сервер примет этот запрос за реальный. Посмотрите Http сниффером какие заголовки и параметры используются в запросе при работе через браузер, а уж потом используйте HttpWebRequest.

Добавлено через 6 минут
Кроме того, вряд ли куки, полученные от браузера прокатят в запросе HttpWebRequest.
0
11.06.2017, 20:45
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2017, 20:45
Помогаю со студенческими работами здесь

Переход на страницу в WebBrowser не теряя куки
Пробовал писать браузер, но столкнулся с проблемой. webBrowser1.Navigate("http://ya.ru"); при...

Как в WebBrowser можно удалить все куки
Здравствуйте! Подскажите, пожалуйста, как в WebBrowser можно удалить ВСЕ куки. Пока нашел...

Использование прокси в webbrowser
Использую прокси в webbrowser, Все сделал правильно. Но выдает ошибку ( currentUri = new...

Как установить куки для WebBrowser?
Думаю как загрузить куки в webbrowser C#, только не 1 единственное куки а их множество, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru