次の方法で共有


WebResponse.GetResponseStream メソッド

派生クラスでオーバーライドされると、インターネット リソースからデータ ストリームを返します。

Public Overridable Function GetResponseStream() As Stream
[C#]
public virtual Stream GetResponseStream();
[C++]
public: virtual Stream* GetResponseStream();
[JScript]
public function GetResponseStream() : Stream;

戻り値

インターネット リソースからデータを読み取るための Stream クラスのインスタンス。

例外

例外の種類 条件
NotSupportedException メソッドが派生クラスでオーバーライドされていないのに、そのメソッドへのアクセスが試行されました。

解説

GetResponseStream メソッドは、インターネット リソースからデータ ストリームを返します。

メモ   システム リソースの不足を防ぐために、応答ストリームを閉じる必要があります。応答ストリームは、 Stream.Close または Close を呼び出して、閉じることができます。

使用例

[Visual Basic, C#, C++] GetResponseStream を使用して、 StreamReader インスタンスを返す例を次に示します。小さなローカル バッファは、 StreamReader からデータを読み取り、そのデータをコンソールに出力するときに使用します。

 

' Create a 'WebRequest' object with the specified url 
Dim myWebRequest As WebRequest = WebRequest.Create("www.contoso.com")

' Send the 'WebRequest' and wait for response.
Dim myWebResponse As WebResponse = myWebRequest.GetResponse()

' Call method 'GetResponseStream' to obtain stream associated with the response object
Dim ReceiveStream As Stream = myWebResponse.GetResponseStream()

Dim encode As Encoding = System.Text.Encoding.GetEncoding("utf-8")

' Pipe the stream to a higher level stream reader with the required encoding format.
Dim readStream As New StreamReader(ReceiveStream, encode)
Console.WriteLine(ControlChars.Cr + "Response stream received")
Dim read(256) As [Char]

' Read 256 charcters at a time    .
Dim count As Integer = readStream.Read(read, 0, 256)
Console.WriteLine("HTML..." + ControlChars.Lf + ControlChars.Cr)
While count > 0

    ' Dump the 256 characters on a string and display the string onto the console.
    Dim str As New [String](read, 0, count)
    Console.Write(str)
    count = readStream.Read(read, 0, 256)

End While
Console.WriteLine("")

' Release the resources of stream object.
 readStream.Close()

 ' Release the resources of response object.
myWebResponse.Close()


[C#] 

        // Create a 'WebRequest' object with the specified url. 
     WebRequest myWebRequest = WebRequest.Create("http://www.constoso.com"); 

    // Send the 'WebRequest' and wait for response.
    WebResponse myWebResponse = myWebRequest.GetResponse(); 

    // Obtain a 'Stream' object associated with the response object.
    Stream ReceiveStream = myWebResponse.GetResponseStream();
                
    Encoding encode = System.Text.Encoding.GetEncoding("utf-8");

        // Pipe the stream to a higher level stream reader with the required encoding format. 
     StreamReader readStream = new StreamReader( ReceiveStream, encode );
     Console.WriteLine("\nResponse stream received");
     Char[] read = new Char[256];

        // Read 256 charcters at a time.    
     int count = readStream.Read( read, 0, 256 );
        Console.WriteLine("HTML...\r\n");

    while (count > 0) 
    {
            // Dump the 256 characters on a string and display the string onto the console.
        String str = new String(read, 0, count);
        Console.Write(str);
        count = readStream.Read(read, 0, 256);
    }

       Console.WriteLine("");
     // Release the resources of stream object.
     readStream.Close();

     // Release the resources of response object.
     myWebResponse.Close(); 


[C++] 
// Create a 'WebRequest' object with the specified url.
WebRequest* myWebRequest = WebRequest::Create(S"http://www.constoso.com");

// Send the 'WebRequest' and wait for response.
WebResponse* myWebResponse = myWebRequest->GetResponse();

// Obtain a 'Stream' object associated with the response object.
Stream* ReceiveStream = myWebResponse->GetResponseStream();

Encoding* encode = System::Text::Encoding::GetEncoding(S"utf-8");

// Pipe the stream to a higher level stream reader with the required encoding format.
StreamReader* readStream = new StreamReader(ReceiveStream, encode);
Console::WriteLine(S"\nResponse stream received");
Char read[] = new Char[256];

// Read 256 charcters at a time.
int count = readStream->Read(read, 0, 256);
Console::WriteLine(S"HTML...\r\n");

while (count > 0) {
   // Dump the 256 characters on a string and display the string onto the console.
   String* str = new String(read, 0, count);
   Console::Write(str);
   count = readStream->Read(read, 0, 256);
}

Console::WriteLine(S"");
// Release the resources of stream object.
readStream->Close();

// Release the 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 名前空間 | ネットワークでのストリームの使用