如何从HttpClient获得最后一个url?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (23)

好的,我最近转向.NET Framework4.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;

花了我三个小时的时间,我还是做不到

提问于
用户回答回答于

所以从MSDN文章HttpResponseMessage从HttpClient调用作为任务返回。

此HttpResponseMessage具有一个名为请求消息,它具有一个名为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);

扫码关注云+社区

领取腾讯云代金券