Авторизация на сайте - C# (185166)
Формулировка задачи:
Пытаюсь авторизоваться на сайте http://xterium.ru/login
Тестовые данные:
E-mail: removed@mail.ru
Логин: c2785429
Пароль: c2785429
Функция
Вызов
Не получается, авторизация просто не проходит..
Может кто с кодом подсобить? Вчера весь день просидел пытаясь в тупую авторизоваться..
Вот что ловит сниффер при авторизации через сайт вручную:
POST /users/login HTTP/1.1
data%5Bemail%5D=removed@mail.ru&data%5Bpassw%5D=c2785429&data%5Bsubmit%5D=%D0%92%D0%BE%D0%B9%D1%82%D0%B8
Вот что ловит сниффер при авторизации моим запросом
POST /login/users/login.php HTTP/1.1
data[email]=removed@mail.ru&data[passw]=c2785429&data[universe]=5&data[submit]=В+игру
Я какие уже ссылки в код не подставлял...
<form method="POST" action="/users/login"> <label>E-mail:</label> <input type="text" placeholder="E-mail" required="" name="data[email]" value=""> <label>Пароль:</label> <input type="password" placeholder="Пароль" required="" name="data[passw]" value=""> <label>Вселенная:</label> <select class="sel_uni_top" name="data[universe]"><option value="1">RU 1 [37%]</option><option value="2">RU 2 [99%]</option><option value="3">RU 3 [99%]</option><option selected="" value="5">RU 4 [41%]</option></select> <label> </label> <input class="button" type="submit" name="data[submit]" value="В игру"> </form>
private void post_http(string url, string data)//создаём метод с двумя аргументами url и data { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);//создаём экзепляр класса HttpWebRequest, req req.Method = "POST"; // выбераем метод запроса req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; // добавляем заголовок и его значение req.CookieContainer = cookie; // прикрепляем к запросу куки req.Headers.Add("DNT", "1");// добавляем заголовок и его значение req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0"; // можно выбрать другой UserAgent opera, chrome, IE req.Referer = url; // от куда мы пришли req.ContentType = "application/x-www-form-urlencoded"; // определяет тип документа для ответа, так же есть multipart using (var requestStream = req.GetRequestStream())//отправляем поток данных using (var sw = new StreamWriter(requestStream)) //создаём переменную в которой будет храниться запрос { sw.Write(data);//записываем в поток данные } using (var responseStream = req.GetResponse().GetResponseStream())//возвращаем поток данных using (var sr = new StreamReader(responseStream))//переменная в которой храниться ответ { var result = sr.ReadToEnd();//считывем ответ в переменную using (var sw = new StreamWriter("D:\\page.html", false, Encoding.GetEncoding(1251)))//false значит что файл будет перезаписываться каждый раз, и указываем кодировку ту что была на сайте sw.Write(result);//записываем } }
post_http("http://xterium.ru/login/users/login.php", "data[email]=removed@mail.ru&data[passw]=c2785429&data[universe]=5&data[submit]=В+игру");
Решение задачи: «Авторизация на сайте»
textual
Листинг программы
Form Data: data%5Bemail%5D=c2785429%40trbvn.com&data%5Bpassw%5D=c2785429&data%5Buniverse%5D=1&data%5Bsubmit%5D=%D0%92+%D0%B8%D0%B3%D1%80%D1%83
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д