.NET 4.x Post запрос к сайту - C#

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

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

Здравствуйте, пробую авторизоваться на сайте adm.trudvsem.ru, прописываю параметры, но мне возвращается страница авторизации
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. string gotov;
  4. System.Net.WebRequest req = System.Net.WebRequest.Create("https://adm.trudvsem.ru/login?0-1.IFormSubmitListener-signInForm");
  5. req.Method = "POST";
  6. req.Timeout = 100000;
  7. req.ContentType = "application/x-www-form-urlencoded";
  8. byte[] sentData = Encoding.GetEncoding(1251).GetBytes("username=tokru&password=dd3n");
  9. req.ContentLength = sentData.Length;
  10. System.IO.Stream sendStream = req.GetRequestStream();
  11. sendStream.Write(sentData, 0, sentData.Length);
  12. sendStream.Close();
  13. System.Net.WebResponse res = req.GetResponse();
  14. System.IO.Stream ReceiveStream = res.GetResponseStream();
  15. System.IO.StreamReader sr = new System.IO.StreamReader(ReceiveStream, Encoding.UTF8);
  16. //Кодировка указывается в зависимости от кодировки ответа сервера
  17. Char[] read = new Char[256];
  18. int count = sr.Read(read, 0, 256);
  19. string Out = String.Empty;
  20. while (count > 0)
  21. {
  22. String str = new String(read, 0, count);
  23. Out += str;
  24. count = sr.Read(read, 0, 256);
  25. }
  26. gotov = Out;
  27. }
  28. }
  29. }
Скриншот возврата Скриншот анализа страницы бразером

Решение задачи: «.NET 4.x Post запрос к сайту»

textual
Листинг программы
  1. System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("https://adm.trudvsem.ru/login?0-1.IFormSubmitListener-signInForm");
  2. req.Method = "POST";
  3. req.Timeout = 100000;
  4. req.ContentType = "application/x-www-form-urlencoded";
  5. req.UserAgent = ...;
  6. byte[] sentData = Encoding.GetEncoding(1251).GetBytes("username=tokru&password=dd3n");
  7. req.ContentLength = sentData.Length;
  8. using (System.IO.Stream sendStream = req.GetRequestStream())
  9. {
  10.     sendStream.Write(sentData, 0, sentData.Length);
  11. }
  12.  
  13. string gotov;
  14. using (System.Net.WebResponse res = req.GetResponse())
  15. using (System.IO.Stream ReceiveStream = res.GetResponseStream())
  16. using (System.IO.StreamReader sr = new System.IO.StreamReader(ReceiveStream, Encoding.UTF8))
  17. {
  18.     gotov = sr.ReadToEnd();
  19. }

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


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

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

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

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

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

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