Export (0) Print
Expand All

HttpListenerRequest.InputStream Property

Gets a stream that contains the body data sent by the client.

Namespace: System.Net
Assembly: System (in system.dll)

public Stream InputStream { get; }
/** @property */
public Stream get_InputStream ()

public function get InputStream () : Stream

Not applicable.

Property Value

A readable Stream object that contains the bytes sent by the client in the body of the request. This property returns Null if no data is sent with the request.

If the client transmits data (for example, using the HTTP POST method), the stream returned by this method contains that data.

NoteNote:

Closing the request does not close the stream returned by this property. When you no longer need the stream, you should close it by calling the Close method.

Notes to Callers: This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing.

The following code example demonstrates using this property to read the data sent with a request.

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 static void ShowRequestData(HttpListenerRequest request)
{
    if (!(request.get_HasEntityBody())) {
        Console.WriteLine("No client data was sent with the request.");
        return;
    }
    System.IO.Stream body = request.get_InputStream();
    System.Text.Encoding encoding = request.get_ContentEncoding();
    System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
    if (request.get_ContentType() != null) {
        Console.WriteLine("Client data content type {0}", 
            request.get_ContentType());
    }
    Console.WriteLine("Client data content length {0}", 
        System.Convert.ToString(request.get_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();
} //ShowRequestData
// If you are finished with the request, it should be closed also.

Windows 98, Windows Server 2003, Windows XP Media Center Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft