Авторизация на сайте - C# (186151)
Формулировка задачи:
Здравствуйте, на сайте вот такая форма входа:
Как отправить POST запрос для авторизации?
P.S. Посмотрел похожие темы, но разобраться не могу
<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>
Решение задачи: «Авторизация на сайте»
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()); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д