好的,我最近切换到.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个小时的搜索时间,我仍然无法完成它:(
答案 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);