Показать сообщение отдельно

Авторизация на сайте через C#
  #1  
Старый 15.02.2010, 17:46
FlyBird
Познающий
Регистрация: 14.10.2007
Сообщений: 47
Провел на форуме:
91186

Репутация: 18
По умолчанию Авторизация на сайте через C#

В общем думаю, что тема поднималась не раз, но толком ничего не нашла. В гугле есть пара тем приятных, по их образу и писала, но что-то где-то явно не так.
Естественно свой код есть и я его приведу ниже.
Суть в том, что есть форма на сайте и она передает методом post логин, пароль и сервер. Я пытаюсь отправить через C# POST запрос на форму авторизации. На выходе у меня приходит что-то не понятное. абракадабра или html в каком-то шифре. Кто знает может в gzip

Код моего запроса приведен ниже.
Если у кого-то есть своим, то буду рада их почитать.
Код:
string _ContentLength = "user=LOGIN&password=******&server_select=1";

            // Делаем массив байтов
            ASCIIEncoding encoder = new ASCIIEncoding();
            byte[] POSTArray = encoder.GetBytes(_ContentLength);

            // Готовим запрос
            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(@"http://www.SITE.ru/index.php?action=login");
            System.Net.ServicePointManager.Expect100Continue = false;
            httpRequest.Method = "POST";
            httpRequest.ProtocolVersion = HttpVersion.Version10;
            httpRequest.Referer = "http://www.SITE.ru/index.php?action=login&user=LOGIN&password=******&server_select=1";
            httpRequest.ContentType = "application/x-www-form-urlencoded";
            httpRequest.Headers.Add("Accept-Language", "ru,en-us;q=0.7,en;q=0.3");
            httpRequest.Headers.Add("Accept-Encoding", "gzip,deflate");
            httpRequest.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.7");
            httpRequest.Headers.Add("Keep-Alive", "115");
            //httpRequest.Headers.Add("Connection", "keep-alive");
            httpRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 MRA 5.6 (build 03278) Firefox/3.6 sputnik unknown";
            httpRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            httpRequest.ContentLength = POSTArray.Length;
            httpRequest.KeepAlive = true;

            // Шлем запрос
            Stream stream = httpRequest.GetRequestStream();
            StreamWriter sv = new StreamWriter(stream);
            sv.Write(_ContentLength);
            stream.Write(POSTArray, 0, POSTArray.Length);
            stream.Close();

            //WebResponse webResponse = httpRequest.GetResponse();
            HttpWebResponse webResponse = (HttpWebResponse)httpRequest.GetResponse();
            // Читаем страницу с формой
            StreamReader sr = new StreamReader(webResponse.GetResponseStream());
            string tmp = "";
            while (sr.Peek() >= 0) 
                tmp += sr.ReadLine();
            File.WriteAllText(@"C:\aaa.txt", tmp);
            webResponse.Close();
 
Ответить с цитированием