派生クラスでオーバーライドされると、要求に実際に応答したインターネット リソースの URI を取得します。
Public Overridable ReadOnly Property ResponseUri As Uri
[C#]
public virtual Uri ResponseUri {get;}
[C++]
public: __property virtual Uri* get_ResponseUri();
[JScript]
public function get ResponseUri() : Uri;
プロパティ値
要求に実際に応答したインターネット リソースの URI を格納する Uri クラスのインスタンス。
例外
例外の種類 | 条件 |
---|---|
NotSupportedException | プロパティが派生クラスでオーバーライドされていないのに、そのプロパティの取得または設定が試行されました。 |
解説
ResponseUri プロパティは、実際に応答データを提供したインターネット リソースの URI を格納します。基になるプロトコルが要求のリダイレクトを許可している場合、このリソースは要求された元の URI ではないことがあります。
メモ WebResponse クラスは、抽象 (Visual Basic では MustInherit) クラスです。実行時の WebResponse インスタンスの実際の動作は、 WebRequest.GetResponse で返される派生クラスによって決まります。既定値および例外の詳細については、 HttpWebResponse や FileWebResponse などの派生クラスの説明を参照してください。
使用例
[Visual Basic, C#, C++] ResponseUri プロパティを使用して、 WebResponse の送信元を確認する例を次に示します。
Dim ourUri As New Uri(url)
' Create a 'WebRequest' object with the specified url.
Dim myWebRequest As WebRequest = WebRequest.Create(url)
' Send the 'WebRequest' and wait for response.
Dim myWebResponse As WebResponse = myWebRequest.GetResponse()
' "ResponseUri" property is used to get the actual Uri from where the response was attained.
If ourUri.Equals(myWebResponse.ResponseUri) Then
Console.WriteLine(ControlChars.Cr + "Request Url : {0} was not redirected", url)
Else
Console.WriteLine(ControlChars.Cr + "Request Url : {0} was redirected to {1}", url, myWebResponse.ResponseUri)
End If
' Release resources of response object.
myWebResponse.Close()
[C#]
Uri ourUri = new Uri(url);
// Create a 'WebRequest' object with the specified url.
WebRequest myWebRequest = WebRequest.Create(url);
// Send the 'WebRequest' and wait for response.
WebResponse myWebResponse = myWebRequest.GetResponse();
// Use "ResponseUri" property to get the actual Uri from where the response was attained.
if (ourUri.Equals(myWebResponse.ResponseUri))
Console.WriteLine("\nRequest Url : {0} was not redirected",url);
else
Console.WriteLine("\nRequest Url : {0} was redirected to {1}",url,myWebResponse.ResponseUri);
// Release resources of response object.
myWebResponse.Close();
[C++]
Uri* ourUri = new Uri(url);
// Create a 'WebRequest' object with the specified url.
WebRequest* myWebRequest = WebRequest::Create(url);
// Send the 'WebRequest' and wait for response.
WebResponse* myWebResponse = myWebRequest->GetResponse();
// Use "ResponseUri" property to get the actual Uri from where the response was attained.
if (ourUri->Equals(myWebResponse->ResponseUri))
Console::WriteLine(S"\nRequest Url : {0} was not redirected", url);
else
Console::WriteLine(S"\nRequest Url : {0} was redirected to {1}", url, myWebResponse->ResponseUri);
// Release resources of response object.
myWebResponse->Close();
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard