Как узнать статус код ответа сервера WebRequest и WebResponse? - C#
Формулировка задачи:
Здрасте! Такой вопросец нагрянул, надо написать функцию обращения к серверу и получения ответа, но если статус код не 200, а например 404 (страница не найдена) приложение вырубается и ругается. Есть функция:
Нашел на каком-то сайтике, как сделать если код не 200 чтобы в Out записывался например "0" или "Bad Response". Спасибо)
private string POST(string Url, string Data) { WebRequest req = WebRequest.Create(Url); req.Method = "POST"; req.Timeout = 100000; req.ContentType = "application/x-www-form-urlencoded"; byte[] sentData = Encoding.GetEncoding(1251).GetBytes(Data); req.ContentLength = sentData.Length; Stream sendStream = req.GetRequestStream(); sendStream.Write(sentData, 0, sentData.Length); sendStream.Close(); WebResponse res = req.GetResponse(); Stream ReceiveStream = res.GetResponseStream(); StreamReader sr = new StreamReader(ReceiveStream, Encoding.UTF8); //Кодировка указывается в зависимости от кодировки ответа сервера Char[] read = new Char[256]; int count = sr.Read(read, 0, 256); string Out = String.Empty; while (count > 0) { String str = new String(read, 0, count); Out += str; count = sr.Read(read, 0, 256); } return Out; }
Решение задачи: «Как узнать статус код ответа сервера WebRequest и WebResponse?»
textual
Листинг программы
private string POST(string Url, string Data) { WebRequest req = WebRequest.Create(Url); req.Method = "POST"; req.Timeout = 100000; req.ContentType = "application/x-www-form-urlencoded"; using (Stream sendStream = req.GetRequestStream()) { byte[] sentData = Encoding.GetEncoding(1251).GetBytes(Data); sendStream.Write(sentData, 0, sentData.Length); } try { using (WebResponse res = req.GetResponse()) using (Stream receiveStream = res.GetResponseStream()) using (StreamReader sr = new StreamReader(receiveStream, Encoding.UTF8)) { return sr.ReadToEnd(); } } catch (WebException ex) //when (ex.Response != null) // Раскоментировать в C# { if (ex.Response == null) throw; // Убрать в C# 6 return null; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д