Вывести заголовок 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д