WebResponse.GetResponseStream 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在子系類別中覆寫時,傳回來自網際網路資源的資料流。
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 類別的執行個體,從網際網路資源讀取資料。
例外狀況
當方法在子代類別中未覆寫時,會嘗試存取該方法。
範例
下列範例會使用 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.
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
備註
方法 GetResponseStream 會從因特網資源傳回數據流。
注意
回應數據流必須關閉,以避免系統資源用盡。 可以呼叫 Stream.Close 或來關閉回應數據流 Close