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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2012, 10:50   #1
magros
 
Регистрация: 17.06.2010
Сообщений: 5
По умолчанию HttpWebRequest отправка данных и авторизация

Доброго.
При выполнении авторизации в браузере перехватываю пакет к серверу, такого вида
Код:
POST http://ru.grepolis.com/start/index?action=login_from_start_page HTTP/1.1
Host: ru.grepolis.com
Connection: keep-alive
Content-Length: 125
Origin: http://ru.grepolis.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.12 (KHTML, like Gecko) Maxthon/3.3.4.4000 Chrome/18.0.966.0 Safari/535.12
Content-Type: application/x-www-form-urlencoded
Accept: text/plain, */*; q=0.01
Referer: http://ru.grepolis.com/
Accept-Encoding: gzip,deflate
Accept-Language: ru-RU
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: cid=797362493; portal_tid=1330097865849-45759; PHPSESSID=0kilcfc9hq8f8vmrjs3nf3qsa3; ref=gp_flags; portal_ref_id=gp_flags; ref=gp_flags; autologin=; portal_ref_url=http://ru7.grepolis.com/game/index?login=1; portal_ref_session=1; __utma=253918987.909593962.1331158924.1331158924.1331158924.1; __utmb=253918987.1.10.1331158924; __utmc=253918987; __utmz=253918987.1331158924.1.1.utmcsr=ru7.grepolis.com|utmccn=(referral)|utmcmd=referral|utmcct=/game/index; portal_data=portal_tid=1330097865849-45759&portal_ref_id=gp_flags&portal_ref_url=http://ru7.grepolis.com/game/index?login-equals-1&portal_ref_session=1; __utma=1.391994290.1330097867.1331140538.1331155860.24; __utmb=1.123.9.1331157889001; __utmc=1; __utmz=1.1331131104.22.4.utmcsr=yandex.ua|utmccn=(referral)|utmcmd=referral|utmcct=/

json=%7B%22name%22%3A%22[LOGIN]%22%2C%22password%22%3A%22[PASSWORD]%22%2C%22passwordhash%22%3A%22%22%2C%22autologin%22%3Afalse%7D
login и pass изменены.

далее пробую провести авторизацию с помощью c#

Код:
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.Co okie, 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();
*в примере внесены не все заголовки я обрезал для экономии места, а так пакет идет один в один.

но от вервера приходит совсем другой пакет. Html страница с сообщение про ошибку данных. В чем причина ? Помогите пожалуйста разобратся.
magros вне форума Ответить с цитированием
Старый 11.03.2012, 18:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы снифером смотрели что пакет такой же?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.03.2012, 21:16   #3
magros
 
Регистрация: 17.06.2010
Сообщений: 5
По умолчанию

пакет один в один только вот куки не совпадают точнее HttpWebResponse выдает не все. часть значений куки я нашел на страничке как js функции .
покраней мере такое же название
magros вне форума Ответить с цитированием
Старый 17.12.2012, 13:20   #4
ArtemKrass
Пользователь
 
Регистрация: 19.06.2012
Сообщений: 13
По умолчанию

Автор разобрался ли с этим вопросом? Похожая проблема...
ArtemKrass вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GET, POST, Авторизация и отправка сообщения на стену sashaxD Работа с сетью в Delphi 6 22.09.2011 01:29
Отправка данных из формы Diruss HTML и CSS 14 17.06.2011 22:09
Отправка данных на почту. vitaxa94 Помощь студентам 0 14.11.2010 20:31
Подключение к сайту, ввод данных, отправка данных. Hichigo Общие вопросы C/C++ 0 20.07.2010 20:24
Cookie & HttpWebRequest & авторизация Geniy00 Общие вопросы .NET 0 29.11.2009 21:03