Вывести заголовок Location при ответе от сервера 302 - C#

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

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

Добрый день Возникла проблема. При обращении к серверу (метод POST) сервер отвечает 302 и в заголовке location указывает ссылку по которой нужно обращаться. вот вопрос. Как вывести этот url хранящийся в заголовке location? Пробую так, не получается. ниже функция которая отправляет POST запрос на сервер и считывает ответ в переменную ( с этим проблема ). Подскажите кто сталкивался. Благодарю
  public static string PostMethod(string postedData, string postUrl, string outputHeader)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
            request.Method = "POST";
            request.Proxy.Credentials = CredentialCache.DefaultCredentials;

            UTF8Encoding encoding = new UTF8Encoding();
            var bytes = encoding.GetBytes(postedData);
 
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = bytes.Length;
 
            using (var newStream = request.GetRequestStream())
            {
                newStream.Write(bytes, 0, bytes.Length);
                newStream.Close();
            }
 
            WebResponse res = request.GetResponse();
            var redirect = res.Headers[outputHeader];
            return redirect;
         }

Решение задачи: «Вывести заголовок Location при ответе от сервера 302»

textual
Листинг программы
 public static string postlocation(string postedData, string postUrl)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
            request.Method = "POST";
            request.Proxy.Credentials = CredentialCache.DefaultCredentials;
 
            UTF8Encoding encoding = new UTF8Encoding();
            var bytes = encoding.GetBytes(postedData);
 
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = bytes.Length;
            request.AllowAutoRedirect = false;
 
            using (var newStream = request.GetRequestStream())
            {
                newStream.Write(bytes, 0, bytes.Length);
                newStream.Close();
            }
 
            System.Net.WebResponse res = request.GetResponse();
            string redirect = String.Format(res.Headers["Location"]);
            res.Close();
            return redirect;
        }

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


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

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

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