WebResponse.GetResponseStream メソッド
派生クラスでオーバーライドされると、インターネット リソースからデータ ストリームを返します。
Public Overridable Function GetResponseStream() As Stream
[C#]
public virtual Stream GetResponseStream();
[C++]
public: virtual Stream* GetResponseStream();
[JScript]
public function GetResponseStream() : Stream;
戻り値
インターネット リソースからデータを読み取るための Stream クラスのインスタンス。
例外
例外の種類 | 条件 |
---|---|
NotSupportedException | メソッドが派生クラスでオーバーライドされていないのに、そのメソッドへのアクセスが試行されました。 |
解説
GetResponseStream メソッドは、インターネット リソースからデータ ストリームを返します。
メモ システム リソースの不足を防ぐために、応答ストリームを閉じる必要があります。応答ストリームは、 Stream.Close または Close を呼び出して、閉じることができます。
使用例
[Visual Basic, C#, C++] GetResponseStream を使用して、 StreamReader インスタンスを返す例を次に示します。小さなローカル バッファは、 StreamReader からデータを読み取り、そのデータをコンソールに出力するときに使用します。
' Create a 'WebRequest' object with the specified url
Dim myWebRequest As WebRequest = WebRequest.Create("www.contoso.com")
' Send the 'WebRequest' and wait for response.
Dim 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("")
' Release the resources of stream object.
readStream.Close()
' Release the resources of response object.
myWebResponse.Close()
[C#]
// Create a 'WebRequest' object with the specified url.
WebRequest myWebRequest = WebRequest.Create("http://www.constoso.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 = 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("");
// Release the resources of stream object.
readStream.Close();
// Release the resources of response object.
myWebResponse.Close();
[C++]
// Create a 'WebRequest' object with the specified url.
WebRequest* myWebRequest = WebRequest::Create(S"http://www.constoso.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(S"utf-8");
// Pipe the stream to a higher level stream reader with the required encoding format.
StreamReader* readStream = new StreamReader(ReceiveStream, encode);
Console::WriteLine(S"\nResponse stream received");
Char read[] = new Char[256];
// Read 256 charcters at a time.
int count = readStream->Read(read, 0, 256);
Console::WriteLine(S"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(S"");
// Release the resources of stream object.
readStream->Close();
// Release the resources of response object.
myWebResponse->Close();
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
WebResponse クラス | WebResponse メンバ | System.Net 名前空間 | ネットワークでのストリームの使用