Пытаюсь написать код авторизации на 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=1355466714195-86254
А вот мои куки:
PHPSESSID=ssuvQVWUBcQqSlViFw-SE2; path=/,cid=308647358; expires=Sun, 14-Dec-2014 06:35:43 GMT; path=/
Почему так?