Не отправляется запрос - C#

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

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

Здравствуйте, уважаемые! Подскажите пожалуйста, почему не работает код, что я не так делаю?
 public class RequestHelper
    {
        public static void PostRequestSender(string gateway, string uri, XElement data)
        {
            string postData = data.ToString();
 
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(gateway + uri);
            byte[] bytes = Encoding.ASCII.GetBytes(postData);
            req.ContentType = "text/xml";
            req.Method = "POST";
            req.ContentLength = bytes.Length;
 
            using (Stream os = req.GetRequestStream())
            {
                os.Write(bytes, 0, bytes.Length);
                os.Close();
            }
            using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
            {
                if (resp.StatusCode == HttpStatusCode.OK)
                    using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
                    {
                        sr.ReadToEnd().Trim();
                    }
            }
        }
    }
Доходит при отладке до 13 строки и падает...(((

Решение задачи: «Не отправляется запрос»

textual
Листинг программы
 public static string PostRequestSender<T>(string gateway, string uri, XElement body)
        {
            string postData = body.ToString();
 
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(gateway);
            byte[] bytes = Encoding.UTF8.GetBytes(postData);
            request.ContentType = "text/xml";
            request.Method = "POST";
            request.ContentLength = bytes.Length;
 
            Stream dataStream = request.GetRequestStream();
            dataStream.Write(bytes, 0, bytes.Length);
            dataStream.Close();
            WebResponse response = request.GetResponse();
 
            //Console.WriteLine(((HttpWebResponse)response).StatusDescription);
            dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();
            //Console.WriteLine(responseFromServer);
            reader.Close();
            dataStream.Close();
            response.Close();
            return responseFromServer;

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


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

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

11   голосов , оценка 4.455 из 5
Похожие ответы