28

好的,我最近切换到 .NET 框架 4.5 并开始使用 HttpClient 而不是 HttpWebRequest & Response。我真的很喜欢这种异步/等待风格,但我不知道如何在 POST / GET 请求后获取重定向的 url。

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

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

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

4

1 回答 1

42

因此,从 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);
于 2013-07-20T04:47:58.280 回答