次の方法で共有


HttpListenerRequest.InputStream プロパティ

定義

クライアントから送信された本体データを格納しているストリームを取得します。

public:
 property System::IO::Stream ^ InputStream { System::IO::Stream ^ get(); };
public System.IO.Stream InputStream { get; }
member this.InputStream : System.IO.Stream
Public ReadOnly Property InputStream As Stream

プロパティ値

要求の本体でクライアントから送信されたバイトを格納している読み取り可能な Stream オブジェクト。 要求と共にデータが送信されなかった場合、このプロパティは Null を返します。

次のコード例では、このプロパティを使用して要求で送信されたデータを読み取る方法を示します。

public static void ShowRequestData (HttpListenerRequest request)
{
    if (!request.HasEntityBody)
    {
        Console.WriteLine("No client data was sent with the request.");
        return;
    }
    System.IO.Stream body = request.InputStream;
    System.Text.Encoding encoding = request.ContentEncoding;
    System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
    if (request.ContentType != null)
    {
        Console.WriteLine("Client data content type {0}", request.ContentType);
    }
    Console.WriteLine("Client data content length {0}", request.ContentLength64);

    Console.WriteLine("Start of client data:");
    // Convert the data to a string and display it on the console.
    string s = reader.ReadToEnd();
    Console.WriteLine(s);
    Console.WriteLine("End of client data:");
    body.Close();
    reader.Close();
    // If you are finished with the request, it should be closed also.
}
Public Shared Sub ShowRequestData(ByVal request As HttpListenerRequest)
    If Not request.HasEntityBody Then
        Console.WriteLine("No client data was sent with the request.")
        Return
    End If

    Dim body As System.IO.Stream = request.InputStream
    Dim encoding As System.Text.Encoding = request.ContentEncoding
    Dim reader As System.IO.StreamReader = New System.IO.StreamReader(body, encoding)

    If request.ContentType IsNot Nothing Then
        Console.WriteLine("Client data content type {0}", request.ContentType)
    End If

    Console.WriteLine("Client data content length {0}", request.ContentLength64)
    Console.WriteLine("Start of client data:")
    ' Convert the data to a string and display it on the console.
    Dim s As String = reader.ReadToEnd()
    Console.WriteLine(s)
    Console.WriteLine("End of client data:")
    body.Close()
    reader.Close()
    ' If you are finished with the request, it should be closed also.
End Sub

注釈

クライアントが (たとえば HTTP POST メソッドを使用して) データを送信する場合、このメソッドによって返されるストリームには、そのデータが含まれます。

注意

要求を閉じても、このプロパティによって返されるストリームは閉じられません。 ストリームが不要になったら、 メソッドを呼び出 Close して閉じる必要があります。

注意 (呼び出し元)

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「 .NET Framework でのネットワーク トレース」を参照してください。

適用対象

こちらもご覧ください