Поделиться через


HttpWebResponse.GetResponseStream Метод

Определение

Возвращает поток, используемый для чтения основного текста ответа с сервера.

public:
 override System::IO::Stream ^ GetResponseStream();
public override System.IO.Stream GetResponseStream();
override this.GetResponseStream : unit -> System.IO.Stream
Public Overrides Function GetResponseStream () As Stream

Возвращаемое значение

Объект Stream, содержащий основной текст ответа.

Исключения

Поток ответа отсутствует.

Текущий экземпляр удален.

Примеры

В следующем примере показано, как использовать GetResponseStream для возврата экземпляра Stream , используемого для чтения ответа с сервера.

// Creates an HttpWebRequest with the specified URL.
    HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
    // Sends the HttpWebRequest and waits for the response.			
    HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    // Gets the stream associated with the response.
    Stream receiveStream = myHttpWebResponse.GetResponseStream();
    Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
    // Pipes the stream to a higher level stream reader with the required encoding format.
    StreamReader readStream = new StreamReader( receiveStream, encode );
Console.WriteLine("\r\nResponse stream received.");
    Char[] read = new Char[256];
    // Reads 256 characters at a time.
    int count = readStream.Read( read, 0, 256 );
    Console.WriteLine("HTML...\r\n");
    while (count > 0)
        {
            // Dumps the 256 characters on a string and displays the string to the console.
            String str = new String(read, 0, count);
            Console.Write(str);
            count = readStream.Read(read, 0, 256);
        }
    Console.WriteLine("");
    // Releases the resources of the response.
    myHttpWebResponse.Close();
    // Releases the resources of the Stream.
    readStream.Close();
' Creates an HttpWebRequest for the specified URL. 
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
' Sends the request and waits for a response.			
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
' Calls the method GetResponseStream to return the stream associated with the response.
Dim receiveStream As Stream = myHttpWebResponse.GetResponseStream()
Dim encode As Encoding = System.Text.Encoding.GetEncoding("utf-8")
' Pipes the response stream to a higher level stream reader with the required encoding format. 
Dim readStream As New StreamReader(receiveStream, encode)
Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "Response stream received")
Dim read(256) As [Char]
' Reads 256 characters at a time.    
Dim count As Integer = readStream.Read(read, 0, 256)
Console.WriteLine("HTML..." + ControlChars.Lf + ControlChars.Cr)
While count > 0
    ' Dumps the 256 characters to a string and displays the string to the console.
    Dim str As New [String](read, 0, count)
    Console.Write(str)
    count = readStream.Read(read, 0, 256)
End While
Console.WriteLine("")
' Releases the resources of the Stream.
readStream.Close()
 ' Releases the resources of the response.
myHttpWebResponse.Close()

Комментарии

Метод GetResponseStream возвращает поток данных из запрошенного интернет-ресурса.

Примечание

Необходимо вызвать один из Stream.Closeметодов , Stream.Dispose, HttpWebResponse.Closeили HttpWebResponse.Dispose , чтобы закрыть поток и освободить подключение для повторного использования. Нет необходимости закрывать или удалять экземпляры Stream и HttpWebResponse , но это не приводит к ошибке. Сбой при закрытии или удалении потока приведет к тому, что в приложении не будут работать подключения.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.

Применяется к