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

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

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

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

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

textual
Листинг программы
        public static string sendPost(string data, ref CookieContainer cookies)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://notabenoid.org/");
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            byte[] sentData = Encoding.UTF8.GetBytes(data);
            request.ContentLength = sentData.Length;
            request.CookieContainer = cookies;
            Stream sendStream = request.GetRequestStream();
            sendStream.Write(sentData, 0, sentData.Length);
            sendStream.Close();
            WebResponse response = request.GetResponse();
            return (new StreamReader(response.GetResponseStream())).ReadToEnd();
        }
 
        public static string sendGet(string url, ref CookieContainer cookies)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.CookieContainer = cookies;
            WebResponse response = request.GetResponse();
            Stream stream = response.GetResponseStream();
            return (new StreamReader(stream)).ReadToEnd();
        }
 
        public static List<byte> getFile(string url, ref CookieContainer cookies)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.CookieContainer = cookies;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream stream = response.GetResponseStream();
            List<byte> result = new List<byte>();
            BinaryReader binaryReader = new BinaryReader(stream);
            result.AddRange(binaryReader.ReadBytes((int)response.ContentLength));
            return result;
        }
 
        static void Main(string[] args)
        {
            CookieContainer cookies = new CookieContainer();
            /* Для некоторых сайтов, для авторизации нужно получить Cookie,
               для вашего не нужно, поэтому в целях скорости работы не используем.
               sendGet(@"http://notabenoid.org/", ref cookies); */
            string data = "login[login]=mylogin&login[pass]=mypass";
            sendPost(data, ref cookies);
            List<byte> test = new List<byte>();
            test = getFile(@"http://notabenoid.org/book/62975/307757/download?format=t&enc=UTF-8", ref cookies);
            /* Указываем путь и расширение для записи. */
            File.WriteAllBytes(@"E:\file", test.ToArray());
        }

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


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

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

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