Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
magros

Авторизация на сайте с js

11.03.2012, 17:12. Показов 1197. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно тема немного не коректно названа, извините зарание..

Суть вопроса следующая. Нужно пройти авторизацию на сайте. И все бы было просто но есть пара моментов.

страница ru(.)grepolis(.)com
вот первый этап авторизации с браузера(руками) через прокси сервер (IE)
Первое обращение к странице
request
Code
1
2
3
4
5
6
7
GET http://ru.grepolis.com/ HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: uk-UA
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: ru.grepolis.com
response
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
HTTP/1.1 200 OK
X-Powered-By: PHP/5.3.8-1~dotdeb.2
Set-Cookie: PHPSESSID=7qti1mr42ni81t59fbqvu74m22; path=/
Set-Cookie: cid=1065329365; expires=Tue, 11-Mar-2014 10:25:15 GMT; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Content-type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 11 Mar 2012 10:25:15 GMT
Server: lighttpd/1.4.28
 
1cad
????????=ks???*???:@??@R?@?*?z??^???}??Z`????A?V?_??/?\??R??????7?b?T?/???u??? A?X?2????????7?]???????#?.?????
 
*** FIDDLER: RawDisplay truncated at 128 characters. Right-click to disable truncation. ***
Заполнение полей логин и пароль и нажатие кнопки "ВХОД"
request
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
POST http://ru.grepolis.com/start/index?action=login_from_start_page HTTP/1.1
Accept: text/plain, */*; q=0.01
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Referer: http://ru.grepolis.com/
Accept-Language: uk
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Host: ru.grepolis.com
Content-Length: 125
Connection: Keep-Alive
Pragma: no-cache
Cookie: PHPSESSID=7qti1mr42ni81t59fbqvu74m22; cid=1065329365; portal_tid=1331461518045-18360; portal_data=portal_tid=1331461518045-18360; __utma=1.2072959602.1331461518.1331461518.1331461518.1; __utmb=1.1.10.1331461518; __utmc=1; __utmz=1.1331461518.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
 
json=%7B%22name%22%3A%22{LOGIN}%22%2C%22password%22%3A%22{PASS}%22%2C%22passwordhash%22%3A%22%22%2C%22autologin%22%3Afalse%7D
{LOGIN} {PASS} там пароль и логин

Вот первый момент. Откуда берутся такие куки? Если посмотреть страничку там есть js функции которые их передают. т.е. эти куки вофримуются при выполнении страницы или как?
как их получить в переменную для отправки

response
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
HTTP/1.1 200 OK
X-Powered-By: PHP/5.3.8-1~dotdeb.2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: application/json
Vary: Accept-Encoding
Date: Sun, 11 Mar 2012 10:26:15 GMT
Server: lighttpd/1.4.28
 
1107
{"worlds":[{"id":"ru7","name":"\u042d\u0442\u0430","playing_on":true,"is_20":true,"level":1,"ended_at":null},{"id":"ru10","name":"\u0419\u043e\u0442\u0430","playing_on":true,"is_20":true,"level":1,"ended_at":null},{"id":"ru1","name":"\u0410\u043b\u044c\u0444\u0430","playing_on":null,"is_20":true,"level":1,"ended_at":null},{"id":"ru2","name":"\u0411\u0435\u0442\u0430","playing_on":null,"is_20":true,"level":1,"ended_at":null},{"id":"ru3","name":"\u0413\u0430\u043c\u043c\u0430","playing_on":null,"is_20":true,"level":1,"ended_at":null},{"id":"ru4","name":"\u0414\u0435\u043b\u044c\u0442\u0430","playing_on":null,"is_20":true,"level":1,"ended_at":null},{"id":"ru5","name":"\u042d\u043f\u0441\u0438\u043b\u043e\u043d","playing_on":null,"is_20":true,"level":1,"ended_at":null},{"id":"ru6","name":"\u0417\u0435\u0442\u0430","playing_on":null,"is_20":true,"level":1,"ended_at":null},{"id":"ru8","name":"\u0422\u0435\u0442\u0430","playing_on":null,"is_20":true,"level":1,"ended_at":null},{"id":"ru9","name":"\u0410\u0445\u0438\u043b\u043b\u0435\u0441","playing_on":null,"is_20":true,"level":2,"ended_at":null}]}8|10
_srvtime1331461575
в ответ сервер возращает json строку для дальнейшей авторизации

но беда в том что при выполнении следующего кода c# страница возвращает ошибку
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
string cookies = "";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://ru.grepolis.com");
request.Proxy = new WebProxy("127.0.0.1", 8888);
 
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
 
cookies = response.Headers["Set-Cookie"];
 
request = (HttpWebRequest)HttpWebRequest.Create("http://ru.grepolis.com/start/index?action=login_from_start_page");
request.Proxy = new WebProxy("127.0.0.1", 8888);
request.Method = "POST";
request.AllowAutoRedirect = false;
request.ServicePoint.Expect100Continue = false;
 
request.ContentType = "application/json; charset=utf-8";
request.Headers.Add(HttpRequestHeader.Cookie, cookies);
byte[] json = Encoding.GetEncoding(65001).GetBytes("json=%7B%22name%22%3A%22"+login+"%22%2C%22password%22%3A%22"+pass+"%22%2C%22passwordhash%22%3A%22%22%2C%22autologin%22%3Afalse%7D");
request.ContentLength = json.Length;
request.GetRequestStream().Write(json, 0, json.Length);
 
response = (HttpWebResponse)request.GetResponse();
помогите разобратся пожалуйста
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2012, 17:12
Ответы с готовыми решениями:

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

Авторизация на сайте
Подскажите, пожалуйста, как правильно авторизоваться на сайте realty.dmir.pro Написал следующее: string username =...

Авторизация на сайте
Доброго времени суток, товарищи форумчане. Есть один сайт написанный на ASP.NET (если это важно). У меня появилась идея написать...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2012, 17:12
Помогаю со студенческими работами здесь

Авторизация на сайте
Всем привет! Каким образом можно создать простейшую авторизацию? Регистрируешься на сайте, а потом через данные (с сайта) на шарпе...

Авторизация на сайте
Друзья, приветствую! Cижу осваиваюсь в шарпе, поставили задачу: 1) при запуске программы появляется окно авторизации. 2)...

Авторизация на сайте
public class CookieAwareClient : WebClient { public CookieAwareClient() : base() { } private...

Программная авторизация на сайте.
Здравствуйте.Мне нужно программно залогиниться до одного сайта.Уже мучаюсь неделю,застрял на одном месте. Код программы ниже: public...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru