Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Zilberman
6 / 6 / 1
Регистрация: 20.12.2010
Сообщений: 191
#1

Как выполнить авторизацию на стороннем сайте

04.01.2012, 18:57. Просмотров 1152. Ответов 2
Метки нет (Все метки)

Привет всем!

Заинтересовала меня тут намедни одна штуковина, решил попробовать сварганить, но понял что в этом направлении С# я пока что ни бельмеса.
Однако научиться хочется.

Кратко о проблемке:

Хочу написать легкий клиентик на основе "webBrowser" для доступа в приложение без лишних вкладок открывания штатных браузеров и т.д
Идея по большому счету, для самообучения.


Итак есть сайт на котором есть формочка: Логин и пароль.
При входе на него и запомненном логе и пароле данные формы заполненны, я нажимаю кнопку вход и понеслась. Так бывает обычно через броузер.

Я хочу сделать програмку, которая, бы запускалась сразу в приложения, минуя процесс нажатия кнопки ВХОД в форме (пуская даже заполненной), ну то есть прописать приложению все при загрузке

Ну плюс немного расширю само окно клиентика для удобства, по сравнению с нагроможденным браузерным окном.




Проблема в том, что мне нужно получить доступ к текстбоксам формы авторизации?! Подскажите пожалуйста в каком направлении копать?!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2012, 18:57
Ответы с готовыми решениями:

Как выполнить запрос на авторизацию в ВК
Как выполнить запрос на авторизацию в ВК?

Как сделать авторизацию на сайте
Написал бота для игры, хочу начать продавать методом подписок. У бота есть...

Как программно пройти авторизацию на сайте
Добрый день! Есть сайт site.ru, там авторизация на сайт через соц.сеть...

Провести авторизацию на сайте
Здравствуйте. Написать программу которая будет проводить регистрацию на...

Как выполнить Js на сайте?
Как сделать так чтобы выполнялся JS на сайте? Мне нужно спарсить из веб сайта...

2
ipforum
8 / 7 / 1
Регистрация: 17.10.2011
Сообщений: 50
04.01.2012, 19:56 #2
Проще простого, форма отправляет пост-запрос для авторизации, так ты и отправляй пост-запрос обработчику формы.
0
Zilberman
6 / 6 / 1
Регистрация: 20.12.2010
Сообщений: 191
06.01.2012, 02:47  [ТС] #3
Лучший ответ Сообщение было отмечено Zilberman как решение

Решение

Что-то типо этого?!!!


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
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://site.ru/cws.php");
            // Разрешаем авторедирект
            req.AllowAutoRedirect = false;
            // Создаем для запроса новый контейнер для хранения сессий
            CookieContainer Cooks = new CookieContainer();
            // Следующие строки итак понятны
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
            // Перед тем как заполнять поля формы, текст запроса конвертируем в байты            
            byte[] ByteQuery = System.Text.Encoding.ASCII.GetBytes("username=moilogin&passwd=moiparol");
            // Длинна запроса (обязательный параметр)
            req.ContentLength = ByteQuery.Length;
            // Открываем поток для записи
            Stream QueryStream = req.GetRequestStream();
            // Записываем в поток (это и есть POST запрос(заполнение форм))
            QueryStream.Write(ByteQuery, 0, ByteQuery.Length);
            // Закрываем поток
            QueryStream.Close();
 
            // Объект с ответом сервера
            HttpWebResponse httpWebResponse = (HttpWebResponse)req.GetResponse();
            // Присваиваем сессию
            httpWebResponse.Cookies = req.CookieContainer.GetCookies(req.RequestUri);
            if (httpWebResponse.Cookies != null)
            {
                // Добавляем сессию в наш контейнер для дальнейшего использования
                Cooks.Add(httpWebResponse.Cookies);
            }
            // Открываем поток для чтения
            Stream stream = httpWebResponse.GetResponseStream();
            // Читаем из потока
            StreamReader reader = new StreamReader(stream);
            // Возвращаем результат запроса
            reader.ReadToEnd();
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2012, 02:47

Не получается пройти авторизацию на сайте
подскажите почему у меня выводит страницу с ошибкой авторизации...хотя логин и...

Как отладить мою dll, используемую как плагин в стороннем приложении?
Добрый день. Исходные данные: VS2015, .Net Framework 4, исходный код моей...

Как нажать на пункт в списке в стороннем приложении?
Запускаю стороннее приложение. Через WinApi получаю доступ к нему. В нем есть...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru