2012-07-26 48 views
5

我正在開發一個C#WinRT應用程序,它向web服務器發出POST和GET請求。HttpClient HttpResponseMessage地址/ URI

有誰知道在使用HttpClient對象時是否有方法獲取響應URI /地址?

如果我使用HttpWebRequest/HttpWebResponse類,那麼我可以通過HttpWebResponse中的ResponseUri屬性獲取這些信息,但是我沒有看到如何使用HttpClient/HttpResponseMessage類獲取它。

感謝

+0

重定向的UI只是爲了讓這更明確的 - 'HttpClient'開始提供.NET 4.5。花了我一會兒,找出爲什麼我找不到組裝System.Net.Http(其中類型被定義)與我的4.0框架:) – 2012-07-26 20:08:31

+2

我認爲你可以從HttpResponseMessage.RequestMessage.RequestUri – 2012-07-26 21:52:33

+0

得到重定向的用戶界面感謝彼得,這樣可行。 – 2012-07-27 13:30:00

回答

2

這是兩歲,但我只是碰到這種問題就具有完全相同的願望,它是在一個comment通過@PeterRitchie回答,所以我複製,對未來的遊客。

我想你可以從HttpResponseMessage.RequestMessage.RequestUri

+1

HttpResponseMessage.RequestMessage引用導致響應消息的請求。 HttpResponseMessage.RequestMessage.RequestUri引用被請求的uri,而不是響應被重定向到的最後一個uri。 參考:http://msdn.microsoft.com/en-us/library/system.net.http.httpresponsemessage.aspx – stormwild 2014-09-09 04:22:06

+0

@stormwild雖然這工作,但...我同意這不是最容易發現的設計。但是'HttpResponseMessage.RequestMessage'反映了最近的請求。在大多數情況下,這是您提交的請求。但在這裏描述的情況下,它是在302(或你有什麼)之後提出的請求。 – 2014-09-09 04:42:33