HttpWebResponse.GetResponseStream 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得用來從伺服器讀取回應主體的資料流。
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 = gcnew StreamReader( receiveStream,encode );
Console::WriteLine( "\r\nResponse stream received." );
array<Char>^ read = gcnew array<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 = gcnew 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 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 中的網路追蹤。