WebResponse.GetResponseStream 方法

定义

当在子类中重写时,从 Internet 资源返回数据流。

public:
 abstract System::IO::Stream ^ GetResponseStream();
public:
 virtual System::IO::Stream ^ GetResponseStream();
public abstract System.IO.Stream GetResponseStream ();
public virtual System.IO.Stream GetResponseStream ();
abstract member GetResponseStream : unit -> System.IO.Stream
abstract member GetResponseStream : unit -> System.IO.Stream
override this.GetResponseStream : unit -> System.IO.Stream
Public MustOverride Function GetResponseStream () As Stream
Public Overridable Function GetResponseStream () As Stream

返回

Stream

用于从 Internet 资源中读取数据的 Stream 类的实例。

例外

当未在子类中重写该方法时,试图访问该方法。

示例

以下示例用于 GetResponseStream 返回 StreamReader 实例。 一个小的本地缓冲区用于从 StreamReader 控制台读取数据并将其输出到控制台。

// Create a 'WebRequest' object with the specified url.
WebRequest^ myWebRequest = WebRequest::Create( "http://www.contoso.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 = gcnew StreamReader( ReceiveStream,encode );
Console::WriteLine( "\nResponse stream received" );
array<Char>^ read = gcnew array<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 = gcnew 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();

    // Create a 'WebRequest' object with the specified url. 
 WebRequest myWebRequest = WebRequest.Create("http://www.contoso.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();

' 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()

注解

该方法 GetResponseStream 从 Internet 资源返回数据流。

备注

必须关闭响应流,以避免系统资源耗尽。 可以通过调用 Stream.CloseClose

适用于

另请参阅