次の方法で共有


WebResponse.ResponseUri プロパティ

派生クラスでオーバーライドされると、要求に実際に応答したインターネット リソースの 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 で返される派生クラスによって決まります。既定値および例外の詳細については、 HttpWebResponseFileWebResponse などの派生クラスの説明を参照してください。

使用例

[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

参照

WebResponse クラス | WebResponse メンバ | System.Net 名前空間