HttpRequest Class
Enables ASP.NET to read the HTTP values sent by a client during a Web request.
Namespace: System.Web
Assembly: System.Web (in System.Web.dll)
The HttpRequest type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | AcceptTypes | Gets a string array of client-supported MIME accept types. |
![]() | AnonymousID | Gets the anonymous identifier for the user, if present. |
![]() | ApplicationPath | Gets the ASP.NET application's virtual application root path on the server. |
![]() | AppRelativeCurrentExecutionFilePath | Gets the virtual path of the application root and makes it relative by using the tilde (~) notation for the application root (as in "~/page.aspx"). |
![]() | Browser | Gets or sets information about the requesting client's browser capabilities. |
![]() | ClientCertificate | Gets the current request's client security certificate. |
![]() | ContentEncoding | Gets or sets the character set of the entity-body. |
![]() | ContentLength | Specifies the length, in bytes, of content sent by the client. |
![]() | ContentType | Gets or sets the MIME content type of the incoming request. |
![]() | Cookies | Gets a collection of cookies sent by the client. |
![]() | CurrentExecutionFilePath | Gets the virtual path of the current request. |
![]() | CurrentExecutionFilePathExtension | Gets the extension of the file name that is specified in the CurrentExecutionFilePath property. |
![]() | FilePath | Gets the virtual path of the current request. |
![]() | Files | Gets the collection of files uploaded by the client, in multipart MIME format. |
![]() | Filter | Gets or sets the filter to use when reading the current input stream. |
![]() | Form | Gets a collection of form variables. |
![]() | Headers | Gets a collection of HTTP headers. |
![]() | HttpChannelBinding | Gets the ChannelBinding object of the current HttpWorkerRequest instance. |
![]() | HttpMethod | Gets the HTTP data transfer method (such as GET, POST, or HEAD) used by the client. |
![]() | InputStream | Gets the contents of the incoming HTTP entity body. |
![]() | IsAuthenticated | Gets a value indicating whether the request has been authenticated. |
![]() | IsLocal | Gets a value indicating whether the request is from the local computer. |
![]() | IsSecureConnection | Gets a value indicating whether the HTTP connection uses secure sockets (that is, HTTPS). |
![]() | Item | Gets the specified object from the QueryString, Form, Cookies, or ServerVariables collections. |
![]() | LogonUserIdentity | Gets the WindowsIdentity type for the current user. |
![]() | Params | Gets a combined collection of QueryString, Form, Cookies, and ServerVariables items. |
![]() | Path | Gets the virtual path of the current request. |
![]() | PathInfo | Gets additional path information for a resource with a URL extension. |
![]() | PhysicalApplicationPath | Gets the physical file system path of the currently executing server application's root directory. |
![]() | PhysicalPath | Gets the physical file system path corresponding to the requested URL. |
![]() | QueryString | Gets the collection of HTTP query string variables. |
![]() | RawUrl | Gets the raw URL of the current request. |
![]() | ReadEntityBodyMode | Gets a value that indicates whether the request entity body has been read, and if so, how it was read. |
![]() | RequestContext | Gets the RequestContext instance of the current request. |
![]() | RequestType | Gets or sets the HTTP data transfer method (GET or POST) used by the client. |
![]() | ServerVariables | Gets a collection of Web server variables. |
![]() | TimedOutToken | Gets a CancellationToken object that is tripped when a request times out. |
![]() | TotalBytes | Gets the number of bytes in the current input stream. |
![]() | Unvalidated | Provides access to HTTP request values without triggering request validation. |
![]() | Url | Gets information about the URL of the current request. |
![]() | UrlReferrer | Gets information about the URL of the client's previous request that linked to the current URL. |
![]() | UserAgent | Gets the raw user agent string of the client browser. |
![]() | UserHostAddress | Gets the IP host address of the remote client. |
![]() | UserHostName | Gets the DNS name of the remote client. |
![]() | UserLanguages | Gets a sorted string array of client language preferences. |
| Name | Description | |
|---|---|---|
![]() | Abort | Forcibly terminates the underlying TCP connection, causing any outstanding I/O to fail. |
![]() | BinaryRead | Performs a binary read of a specified number of bytes from the current input stream. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetBufferedInputStream | Gets a Stream object that can be used to read the incoming HTTP entity body. |
![]() | GetBufferlessInputStream() | Gets a Stream object that can be used to read the incoming HTTP entity body. |
![]() | GetBufferlessInputStream(Boolean) | Gets a Stream object that can be used to read the incoming HTTP entity body, optionally disabling the request-length limit that is set in the MaxRequestLength property. |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | InsertEntityBody() | Provides IIS with a copy of the HTTP request entity body. |
![]() | InsertEntityBody(Byte[], Int32, Int32) | Provides IIS with a copy of the HTTP request entity body and with information about the request entity object. |
![]() | MapImageCoordinates | Maps an incoming image-field form parameter to appropriate x-coordinate and y-coordinate values. |
![]() | MapPath(String) | Maps the specified virtual path to a physical path. |
![]() | MapPath(String, String, Boolean) | Maps the specified virtual path to a physical path. |
![]() | MapRawImageCoordinates | Maps an incoming image field form parameter into appropriate x and y coordinate values. |
![]() | SaveAs | Saves an HTTP request to disk. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | ValidateInput | Causes validation to occur for the collections accessed through the Cookies, Form, and QueryString properties. |
The methods and properties of the HttpRequest class are exposed through the Request properties of the HttpApplication, HttpContext, Page, and UserControl classes.
Note |
|---|
Unicode support for HttpRequest class members requires IIS version 6.0 or later. |
| Topic | Location |
|---|---|
| How to: Pass Values Between ASP.NET Web Pages | Building ASP .NET Web Applications |
| How to: Pass Values Between ASP.NET Web Pages | Building ASP .NET Web Applications |
A Visual Studio Web site project with source code is available to accompany this topic: Download.
The following example uses the StreamWriter class to write the values of several HttpRequest class properties to a file. For properties that are of type string, the values are HTML encoded as they are written to the file. Properties that represent a collection are looped through, and each key/value pair that they contain is written to the file. In ASP.NET markup, the Request keyword refers to the HttpRequest object.
Security Note |
|---|
This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview. |
<%@ Page Language="C#" %> <%@ import Namespace="System.Threading" %> <%@ import Namespace="System.IO" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> /* NOTE: To use this sample, create a c:\temp\CS folder, * add the ASP.NET account (in IIS 5.x <machinename>\ASPNET, * in IIS 6.x NETWORK SERVICE), and give it write permissions * to the folder.*/ private const string INFO_DIR = @"c:\temp\CS\RequestDetails"; public static int requestCount; private void Page_Load(object sender, System.EventArgs e) { // Create a variable to use when iterating // through the UserLanguages property. int langCount; int requestNumber = Interlocked.Increment(ref requestCount); // Create the file to contain information about the request. string strFilePath = INFO_DIR + requestNumber.ToString() + @".txt"; StreamWriter sw = File.CreateText(strFilePath); try { // Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(DateTime.Now.ToString())); sw.WriteLine(Server.HtmlEncode(Request.CurrentExecutionFilePath)); sw.WriteLine(Server.HtmlEncode(Request.ApplicationPath)); sw.WriteLine(Server.HtmlEncode(Request.FilePath)); sw.WriteLine(Server.HtmlEncode(Request.Path)); // Iterate through the Form collection and write // the values to the file with HTML encoding. // String[] formArray = Request.Form.AllKeys; foreach (string s in Request.Form) { sw.WriteLine("Form: " + Server.HtmlEncode(s)); } // Write the PathInfo property value // or a string if it is empty. if (Request.PathInfo == String.Empty) { sw.WriteLine("The PathInfo property contains no information."); } else { sw.WriteLine(Server.HtmlEncode(Request.PathInfo)); } // Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(Request.PhysicalApplicationPath)); sw.WriteLine(Server.HtmlEncode(Request.PhysicalPath)); sw.WriteLine(Server.HtmlEncode(Request.RawUrl)); // Write a message to the file dependent upon // the value of the TotalBytes property. if (Request.TotalBytes > 1000) { sw.WriteLine("The request is 1KB or greater"); } else { sw.WriteLine("The request is less than 1KB"); } // Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(Request.RequestType)); sw.WriteLine(Server.HtmlEncode(Request.UserHostAddress)); sw.WriteLine(Server.HtmlEncode(Request.UserHostName)); sw.WriteLine(Server.HtmlEncode(Request.HttpMethod)); // Iterate through the UserLanguages collection and // write its HTML encoded values to the file. for (langCount=0; langCount < Request.UserLanguages.Length; langCount++) { sw.WriteLine(@"User Language " + langCount +": " + Server.HtmlEncode(Request.UserLanguages[langCount])); } } finally { // Close the stream to the file. sw.Close(); } lblInfoSent.Text = "Information about this request has been sent to a file."; } private void btnSendInfo_Click(object sender, System.EventArgs e) { lblInfoSent.Text = "Hello, " + Server.HtmlEncode(txtBoxName.Text) + ". You have created a new request info file."; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>ASP.NET Example</title> </head> <body> <form id="form1" runat="server"> <p> </p> <p> Enter your name here: <asp:TextBox id="txtBoxName" runat="server"></asp:TextBox> </p> <p> <asp:Button id="btnSendInfo" onclick="btnSendInfo_Click" runat="server" Text="Click Here"></asp:Button> </p> <p> <asp:Label id="lblInfoSent" runat="server"></asp:Label> </p> </form> </body> </html>
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
