Dobermann, проверять свойство StatusCode у res, если оно равно Found, значит авторизация прошла, иные значения - не прошла.
Свойство ContentType нужно ставить равным application/x-www-form-urlencoded Просто выполните этот код 2 раза:
| Код | HttpWebRequest authReq = (HttpWebRequest)WebRequest.Create("http://login.torrents.ru/forum/login.php"); authReq.Method = "POST"; authReq.CookieContainer = new CookieContainer(); authReq.AllowAutoRedirect = false; //authReq.ContentType = "application/x-www-form-urlencoded"; string paramReg = string.Format("login_username={0}&login_password={1}&login={2}", "login", "pass", "Вход"); byte[] POST_Q = Encoding.GetEncoding(1251).GetBytes(paramReg); authReq.ContentLength = POST_Q.Length; authReq.GetRequestStream().Write(POST_Q, 0, POST_Q.Length); authReq.GetRequestStream().Close();
HttpWebResponse regResponse = (HttpWebResponse)authReq.GetResponse();
Console.WriteLine(regResponse.StatusCode); Console.WriteLine(regResponse.Headers[HttpResponseHeader.SetCookie].ToString()); Console.ReadKey();
|
Первый раз с закомментированной строкой ContentType, а во второй раз - раскомментируйте ее. application/x-www-form-urlencoded значит, что передаются данные формы, если не указать этого - тип будет text/plain и авторизоваться не получится. |