Condividi tramite


WebResponse.GetResponseStream Metodo

Definizione

Quando ne viene eseguito l'override in una classe discendente, restituisce il flusso di dati dalla risorsa 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

Restituisce

Istanza della classe Stream per la lettura dei dati dalla risorsa Internet.

Eccezioni

Viene eseguito un tentativo di accedere al metodo quando quest'ultimo non è sottoposto a override in una classe discendente.

Esempio

Nell'esempio seguente viene usato GetResponseStream per restituire un'istanza StreamReader di . Un piccolo buffer locale viene usato per leggere i dati dall'oggetto StreamReader e restituirlo nella console.

// 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

Commenti

Il GetResponseStream metodo restituisce il flusso di dati dalla risorsa Internet.

Nota

Il flusso di risposta deve essere chiuso per evitare l'esaurimento delle risorse di sistema. Il flusso di risposta può essere chiuso chiamando Stream.Close o Close

Si applica a

Vedi anche