Comparteix a través de


WebResponse.GetResponseStream Método

Definición

Cuando se reemplaza en una clase descendiente, se devuelve el flujo de datos desde el recurso de 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

Devoluciones

Instancia de la clase Stream para leer los datos procedentes del recurso de Internet.

Excepciones

Se intenta por todos los medios tener acceso al método, cuando el método no se reemplaza en una clase descendiente.

Ejemplos

En el ejemplo siguiente se usa GetResponseStream para devolver una StreamReader instancia de . Se usa un búfer local pequeño para leer datos de StreamReader y generarlos en la consola.

// 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.
using 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();

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

' Send the 'WebRequest' and wait for response.
Using 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("")
End Using

Comentarios

El GetResponseStream método devuelve el flujo de datos del recurso de Internet.

Nota

El flujo de respuesta debe cerrarse para evitar que se agote el número de recursos del sistema. El flujo de respuesta se puede cerrar llamando a Stream.Close o Close

Se aplica a

Consulte también