Программно авторизоваться на сайте - C# (236408)
Формулировка задачи:
Такой вопрос - необходимо написать программу, на которой будет поля для ввода логина и пароля и кнопка отправить. Программа должна послать запрос сайту, например yandex.ru, который авторизует меня на этом сайте (логин и пароль заранее известны) и если бы я зашел через браузер, то увидел, что авторизация прошла верно. Возможно ли такое в принципе и в какую сторону мне нужно копать?Если можно, то небольшой кусочек рабочего кода будет очень кстати.
Решение задачи: «Программно авторизоваться на сайте»
textual
Листинг программы
request = (HttpWebRequest)WebRequest.Create("адрес");
request.Method = "POST";
request.AllowAutoRedirect = true;
request.CookieContainer = new CookieContainer();
request.ContentType = "application/x-www-form-urlencoded";
try
{
if (request.CookieContainer.Count == 0)
{
byte[] query = System.Text.Encoding.ASCII.GetBytes(string.Format("login_email={0}&login_password={1}", "login", "pass"));
request.ContentLength = query.Length;
Stream stream = request.GetRequestStream();
stream.Write(query, 0, query.Length);
stream.Close();
}
using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse())
{
resp.Cookies = request.CookieContainer.GetCookies(request.RequestUri);
using (Stream st = resp.GetResponseStream())
{
using (StreamReader read = new StreamReader(st))
{
return getText(read.ReadToEnd());
}
}
}
}
catch (Exception)
{
return null;
}