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

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

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

Добрый день Возникла проблема. При обращении к серверу (метод POST) сервер отвечает 302 и в заголовке location указывает ссылку по которой нужно обращаться. вот вопрос. Как вывести этот url хранящийся в заголовке location? Пробую так, не получается. ниже функция которая отправляет POST запрос на сервер и считывает ответ в переменную ( с этим проблема ). Подскажите кто сталкивался. Благодарю
Листинг программы
  1. public static string PostMethod(string postedData, string postUrl, string outputHeader)
  2. {
  3. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
  4. request.Method = "POST";
  5. request.Proxy.Credentials = CredentialCache.DefaultCredentials;
  6.  
  7. UTF8Encoding encoding = new UTF8Encoding();
  8. var bytes = encoding.GetBytes(postedData);
  9. request.ContentType = "application/x-www-form-urlencoded";
  10. request.ContentLength = bytes.Length;
  11. using (var newStream = request.GetRequestStream())
  12. {
  13. newStream.Write(bytes, 0, bytes.Length);
  14. newStream.Close();
  15. }
  16. WebResponse res = request.GetResponse();
  17. var redirect = res.Headers[outputHeader];
  18. return redirect;
  19. }

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

textual
Листинг программы
  1.  public static string postlocation(string postedData, string postUrl)
  2.         {
  3.             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
  4.             request.Method = "POST";
  5.             request.Proxy.Credentials = CredentialCache.DefaultCredentials;
  6.  
  7.             UTF8Encoding encoding = new UTF8Encoding();
  8.             var bytes = encoding.GetBytes(postedData);
  9.  
  10.             request.ContentType = "application/x-www-form-urlencoded";
  11.             request.ContentLength = bytes.Length;
  12.             request.AllowAutoRedirect = false;
  13.  
  14.             using (var newStream = request.GetRequestStream())
  15.             {
  16.                 newStream.Write(bytes, 0, bytes.Length);
  17.                 newStream.Close();
  18.             }
  19.  
  20.             System.Net.WebResponse res = request.GetResponse();
  21.             string redirect = String.Format(res.Headers["Location"]);
  22.             res.Close();
  23.             return redirect;
  24.         }

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


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

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

11   голосов , оценка 4 из 5

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

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

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