HttpListenerRequest Class
Assembly: System (in system.dll)
When a client makes a request to a Uniform Resource Identifier (URI) handled by an HttpListener object, the HttpListener provides a HttpListenerContext object that contains information about the sender, the request, and the response that is sent to the client. The HttpListenerContext.Request property returns the HttpListenerRequest object that describes the request.
The HttpListenerRequest object contains information about the request, such as the request HttpMethod string, UserAgent string, and request body data (see the InputStream property).
To reply to the request, you must get the associated response using the Response property.
The following code example demonstrates how to receive and respond to a HttpListenerRequest.
// This example requires the System and System.Net namespaces. public static void SimpleListenerExample(string[] prefixes) { if (!HttpListener.IsSupported) { Console.WriteLine ("Windows XP SP2 or Server 2003 is required to use the HttpListener class."); return; } // URI prefixes are required, // for example "http://contoso.com:8080/index/". if (prefixes == null || prefixes.Length == 0) throw new ArgumentException("prefixes"); // Create a listener. HttpListener listener = new HttpListener(); // Add the prefixes. foreach (string s in prefixes) { listener.Prefixes.Add(s); } listener.Start(); Console.WriteLine("Listening..."); // Note: The GetContext method blocks while waiting for a request. HttpListenerContext context = listener.GetContext(); HttpListenerRequest request = context.Request; // Obtain a response object. HttpListenerResponse response = context.Response; // Construct a response. string responseString = "<HTML><BODY> Hello world!</BODY></HTML>"; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString); // Get a response stream and write the response to it. response.ContentLength64 = buffer.Length; System.IO.Stream output = response.OutputStream; output.Write(buffer,0,buffer.Length); // You must close the output stream. output.Close(); listener.Stop(); }
// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample(String prefixes[])
{
if (!(HttpListener.get_IsSupported())) {
Console.WriteLine("Windows XP SP2 or Server 2003 is required to "
+ "use the HttpListener class.");
return;
}
// URI prefixes are required,
// for example "http://contoso.com:8080/index/".
if (prefixes == null || prefixes.get_Length() == 0) {
throw new ArgumentException("prefixes");
}
// Create a listener.
HttpListener listener = new HttpListener();
// Add the prefixes.
for (int iCtr = 0; iCtr < prefixes.get_Length(); iCtr++) {
String s = prefixes[iCtr];
listener.get_Prefixes().Add(s);
}
listener.Start();
Console.WriteLine("Listening...");
// Note: The GetContext method blocks while waiting for a request.
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.get_Request();
// Obtain a response object.
HttpListenerResponse response = context.get_Response();
// Construct a response.
String responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
ubyte buffer[] = System.Text.Encoding.get_UTF8().GetBytes(responseString);
// Get a response stream and write the response to it.
response.set_ContentLength64(buffer.get_Length());
System.IO.Stream output = response.get_OutputStream();
output.Write(buffer, 0, buffer.get_Length());
// You must close the output stream.
output.Close();
listener.Stop();
} //SimpleListenerExample