Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2012, 11:59   #1
ArtemKrass
Пользователь
 
Регистрация: 19.06.2012
Сообщений: 13
По умолчанию Авторизация на ru.grepolis.com

Пытаюсь написать код авторизации на ru.grepolis.com

Но застрял на втором шаге.
Первым отправляю Get запрос, получаю куки:

Код:
request = (HttpWebRequest)HttpWebRequest.Create("http://ru.grepolis.com");
                //request.Proxy = new WebProxy("127.0.0.1", 8888);

                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0";
                request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                request.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3");
                request.KeepAlive = true;
                
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                string sCookies = "";
                if (!String.IsNullOrEmpty(response.Headers["Set-Cookie"]))
                {
                    sCookies = response.Headers["Set-Cookie"];
                }
Затем, используя полученные куки отправляю Post запрос:
Код:
request = (HttpWebRequest)HttpWebRequest.Create("http://ru.grepolis.com/start/index?action=login_from_start_page");
                request.Method = "POST";
                request.Referer = "http://ru.grepolis.com";
                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0";
                request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                request.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3");
                request.KeepAlive = true;
                request.ContentType = "application/x-www-form-urlencoded";

                // передаем куки, полученные в предыдущем запросе
                if (!String.IsNullOrEmpty(sCookies))
                {
                    request.Headers.Add(HttpRequestHeader.Cookie, sCookies);
                }


                request.AllowAutoRedirect = true;

                // Формируем строку с параметрами
                string secondStepForm = "json={\"name\":\"*********\",\"password\":\"***********\",\"passwordhash\":\"\",\"autologin\":false,\"window_size\":\"1263x535\"}";

                // передаем параметры
                byte[] EncodedPostParams = Encoding.ASCII.GetBytes(secondStepForm);
                request.ContentLength = EncodedPostParams.Length;

                // Записываем данные в поток
                request.GetRequestStream().Write(EncodedPostParams, 0, EncodedPostParams.Length);

                request.GetRequestStream().Close();
                // делаем запрос
                response = (HttpWebResponse)request.GetResponse();
Но он не проходит.
В чем может быть причина? Неправильные параметры Post или куки или еще что? Самому не получается разобраться.

Заголовки вроде идентичные с браузером передаю.

Мои куки почему то имеют другой вид, нежели чем передает браузер... Может в этом проблема?

Вот куки которые передает браузер:
PHPSESSID=JoHVf8NpzGf-uhyY8FXS91; cid=954932142; portal_tid=1355466714195-86254; portal_data=portal_tid=135546671419 5-86254

А вот мои куки:
PHPSESSID=ssuvQVWUBcQqSlViFw-SE2; path=/,cid=308647358; expires=Sun, 14-Dec-2014 06:35:43 GMT; path=/

Почему так?

Последний раз редактировалось ArtemKrass; 14.12.2012 в 13:19.
ArtemKrass вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг кода страницы grepolis.com ArtemKrass PHP 1 22.06.2012 20:40
авторизация shked02 PHP 7 27.01.2012 12:41
Авторизация Fiber Visual C++ 1 14.03.2011 16:30
Авторизация trad C++ Builder 3 13.01.2011 01:27
Обычная авторизация или авторизация на уровне браузера? calugin Безопасность, Шифрование 0 13.01.2011 00:34