HttpRequest Class
Enables ASP.NET to read the HTTP values sent by a client during a Web request.
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. |
![]() | 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. |
![]() | TotalBytes | Gets the number of bytes in the current input stream. |
![]() | 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 | |
|---|---|---|
![]() | 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.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetBufferlessInputStream | Gets a Stream object that can be used to read the incoming HTTP entity body. |
![]() | 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. |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | 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 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
