2013-07-20 9 views
17

OK、最近.NET Framework 4.5に切り替えて、HttpWebRequestの代わりにHttpClientを使用し始めました&レスポンス。 私はasync/awaitスタイルが大好きですが、POST/GETリクエスト後にリダイレクトされたURLを取得する方法はわかりません。 HttpWebResponseのでHttpClientから最後のURLを取得するには?

私は

HttpWebRequest request = (HttpWebRequest)WebRequest.Create ("http://www.google.com"); 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
string responseURI = response.ResponseUri; 

属性.ResponseUriを使用することができますが検索の私に3時間かかったし、私はまだそれは、MSDNの記事からそう:(タスクとしてHttpResponseMessageリターンを

答えて

25

を成し遂げることができません

このHttpResponseMessageには、RequestUriというプロパティがあるRequest Messageというプロパティがあります。このリンクのプロパティのセクションを確認してください。

サンプルコード:

// 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); 
+0

それは働きました!ありがとうたくさん:)よく – aznboy84

+0

私はHttpClientを使用することはできません。それはあまりにも多くの基本機能が欠けています。私のサーバに約10のIPアドレスがあり、それをすべて使いたいので、HttpClientのソースIPを特定する方法を私に示すことができれば本当にありがたいです – aznboy84

+0

@ aznboy84リクエストを明確にすることはできますか?あなたは何の目標を達成しようとしていますか? – ermagana