Как получить последний URL-адрес от HttpClient?
Хорошо, я недавно переключился на.NET framework 4.5 и начал использовать HttpClient вместо HttpWebRequest & Response. Мне очень нравится этот стиль async/wait, но я не знаю, как получить перенаправленный URL-адрес после запроса POST/GET.
С HttpWebResponse я могу использовать атрибут.ResponseUri
HttpWebRequest request = (HttpWebRequest)WebRequest.Create ("http://www.google.com");
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
string responseURI = response.ResponseUri;
Принял мне 3 часа поиска, и я до сих пор не могу это сделать :(
Ответы
Ответ 1
Итак, из статей msdn HttpResponseMessage возвращается как задача из вызова HttpClient.
Этот HttpResponseMessage имеет свойство Request Message, которое имеет свойство RequestUri, не забудьте посмотреть в разделе свойств этой ссылки.
Образец кода:
// Create a New HttpClient object.
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://www.yahoo.com/");
response.EnsureSuccessStatusCode();
string responseUri = response.RequestMessage.RequestUri.ToString();
Console.Out.WriteLine(responseUri);