【问题标题】:HttpClient HttpResponseMessage Address / URIHttpClient HttpResponseMessage 地址/URI
【发布时间】:2012-07-26 20:00:02
【问题描述】:

我正在开发一个向网络服务器发出 POST 和 GET 请求的 C# WinRT 应用程序。

有谁知道在使用 HttpClient 对象时是否有办法获取响应 URI/地址?

如果我使用 HttpWebRequest / HttpWebResponse 类,那么我可以获取此信息(通过 HttpWebResponse 中的 ResponseUri 属性),但我不知道如何使用 HttpClient / HttpResponseMessage 类获取它。

谢谢

【问题讨论】:

  • 只是为了让这一点更加明确 - HttpClient 从 .NET 4.5 开始可用。我花了一段时间才发现为什么我的 4.0 框架找不到程序集 System.Net.Http(其中定义了类型):)
  • 我认为你可以从 HttpResponseMessage.RequestMessage.RequestUri 获得重定向的 UI

标签: c# httpclient windows-runtime .net-4.5


【解决方案1】:

这已经两年了,但我刚刚以完全相同的愿望遇到了这个问题,@PeterRitchiecomment 中回答了这个问题,所以我将其复制给未来的访问者。

我认为您可以从 HttpResponseMessage.RequestMessage.RequestUri 获得重定向的 UI

【讨论】:

  • HttpResponseMessage.RequestMessage 是指导致响应消息的请求。 HttpResponseMessage.RequestMessage.RequestUri 指的是请求的 uri,而不是响应重定向到的最后一个 uri。参考:msdn.microsoft.com/en-us/library/…
  • @stormwild 这行得通,不过……我同意这不是最容易被发现的设计。但是HttpResponseMessage.RequestMessage 反映了最近提出的请求。在大多数情况下,这就是您提出的请求。但在此处描述的情况下,它是在 302 之后提交的请求(或者你有什么)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 2021-04-23
  • 1970-01-01
  • 2021-12-16
  • 2019-10-05
  • 2018-08-02
相关资源
最近更新 更多