如何从HttpClient获取最后一个网址?

时间:2013-07-20 04:31:55

标签: c# redirect httpclient

好的,我最近切换到.NET framework 4.5并开始使用HttpClient而不是HttpWebRequest&响应。 我真的很喜欢async / await风格,但我不知道如何在POST / GET请求后获取重定向的URL。

使用HttpWebResponse我可以使用.ResponseUri属性

HttpWebRequest request = (HttpWebRequest)WebRequest.Create ("http://www.google.com");
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
string responseURI = response.ResponseUri;

花了我3个小时的搜索时间,我仍然无法完成它:(

1 个答案:

答案 0 :(得分:32)

所以从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);