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="VB" %> <%@ 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 INFO_DIR As String = "c:\temp\VB\RequestDetails" Public Shared requestCount As Integer Private Sub Page_Load(sender As Object, e As System.EventArgs) ' Create a variable to use when iterating ' through the UserLanguages property. Dim langCount As Integer ' Create a counter to name the file. Dim requestNumber As Integer = _ Interlocked.Increment(requestCount) ' Create the file to contain information about the request. Dim strFilePath As String = INFO_DIR & requestNumber.ToString() & ".txt" Dim sw As StreamWriter = 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. For Each s As String In Request.Form sw.WriteLine("Form: " & Server.HtmlEncode(s)) Next s ' Write the PathInfo property value ' or a string if it is empty. If Request.PathInfo = String.Empty Then sw.WriteLine("The PathInfo property contains no information.") Else sw.WriteLine(Server.HtmlEncode(Request.PathInfo)) End If ' 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 Then sw.WriteLine("The request is 1KB or greater") Else sw.WriteLine("The request is less than 1KB") End If ' 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 To Request.UserLanguages.Length - 1 sw.WriteLine("User Language " & langCount.ToString() & _ ": " & Server.HtmlEncode( _ Request.UserLanguages(langCount))) Next Finally ' Close the stream to the file. sw.Close() End Try lblInfoSent.Text = _ "Information about this request has been sent to a file." End Sub 'Page_Load Private Sub btnSendInfo_Click(sender As Object, e As System.EventArgs) lblInfoSent.Text = _ "Hello, " & Server.HtmlEncode(txtBoxName.Text) & _ ". You have created a new request info file." End Sub 'btnSendInfo_Click </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.
.gif?cs-save-lang=1&cs-lang=vb)
.gif?cs-save-lang=1&cs-lang=vb)
Note
Security Note