Авторизация на сайте - C# (186151)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, на сайте вот такая форма входа:
Листинг программы
  1. <form method="post" action="/">
  2. <input type="text" name="login[login]" placeholder="Логин" class="form-control" autofocus="" value=""><br>
  3. <input type="password" name="login[pass]" placeholder="Пароль" class="form-control"><br>
  4. <a href="/register/remind">забыли?</a>
  5. <button type="submit" class="btn btn-success"><i class="icon icon-ok-circle icon-white"></i></button>
  6. </form>
Как отправить POST запрос для авторизации? P.S. Посмотрел похожие темы, но разобраться не могу

Решение задачи: «Авторизация на сайте»

textual
Листинг программы
  1.         public static string sendPost(string data, ref CookieContainer cookies)
  2.         {
  3.             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://notabenoid.org/");
  4.             request.Method = "POST";
  5.             request.ContentType = "application/x-www-form-urlencoded";
  6.             byte[] sentData = Encoding.UTF8.GetBytes(data);
  7.             request.ContentLength = sentData.Length;
  8.             request.CookieContainer = cookies;
  9.             Stream sendStream = request.GetRequestStream();
  10.             sendStream.Write(sentData, 0, sentData.Length);
  11.             sendStream.Close();
  12.             WebResponse response = request.GetResponse();
  13.             return (new StreamReader(response.GetResponseStream())).ReadToEnd();
  14.         }
  15.  
  16.         public static string sendGet(string url, ref CookieContainer cookies)
  17.         {
  18.             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  19.             request.CookieContainer = cookies;
  20.             WebResponse response = request.GetResponse();
  21.             Stream stream = response.GetResponseStream();
  22.             return (new StreamReader(stream)).ReadToEnd();
  23.         }
  24.  
  25.         public static List<byte> getFile(string url, ref CookieContainer cookies)
  26.         {
  27.             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  28.             request.CookieContainer = cookies;
  29.             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  30.             Stream stream = response.GetResponseStream();
  31.             List<byte> result = new List<byte>();
  32.             BinaryReader binaryReader = new BinaryReader(stream);
  33.             result.AddRange(binaryReader.ReadBytes((int)response.ContentLength));
  34.             return result;
  35.         }
  36.  
  37.         static void Main(string[] args)
  38.         {
  39.             CookieContainer cookies = new CookieContainer();
  40.             /* Для некоторых сайтов, для авторизации нужно получить Cookie,
  41.                для вашего не нужно, поэтому в целях скорости работы не используем.
  42.                sendGet(@"http://notabenoid.org/", ref cookies); */
  43.             string data = "login[login]=mylogin&login[pass]=mypass";
  44.             sendPost(data, ref cookies);
  45.             List<byte> test = new List<byte>();
  46.             test = getFile(@"http://notabenoid.org/book/62975/307757/download?format=t&enc=UTF-8", ref cookies);
  47.             /* Указываем путь и расширение для записи. */
  48.             File.WriteAllBytes(@"E:\file", test.ToArray());
  49.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут