在Windows应用商店应用中获取HttpResponseMessage的主机

时间:2013-06-13 19:30:05

标签: c# windows-8 windows-store-apps

我有一个Windows应用商店应用程序(C#),我发送HttpRequest,我想检查我得到的响应是来自强制/受限访问网络还是来自HttpRequest中指定的实际主机。

所以我要说我要向www.serverA.com发送请求 我查看该请求的响应,并根据状态代码确定它是否成功。

想象一下在专属网络中的相同场景(机场网络/星巴克,他们将您重定向到登录页面):

  • 我正在向www.serverA.com发送请求
  • 我的请求被重定向 到www.serverB.com/AirPortLoginPage
  • 我得到了回复 AirportLoginPage已成功加载200响应
  • 由于200状态代码,我的代码认为这是成功的,但我想知道我的原始请求是否成功

那么,有没有办法确定响应消息来自哪个服务器的主机?

1 个答案:

答案 0 :(得分:0)

可以解决问题的两件事:

  1. 您可以将HttpClientHandler.AllowAutoRedirect属性设置为 false。但是,如果任何其他代码依赖于此 - 您将需要 手动处理3xx(重定向)。

  2. 您可以查看HttpResponseMessage.RequestMessage。在您向www.serverA.com发送请求后的示例中,此属性将www.serverB.com/AirPortLoginPage