The HttpRequest class wraps all information that a
client browser passes to the server during an HTTP request. It
includes client certificates, cookies, and values submitted through
HTML form elements. You can access this information in its entirety
as a System.IO.Stream object through the
InputStream property, or you can use one of the
more useful higher-level properties.
The QueryString property allows you to retrieve
values from the URL's query string, which can
transfer information from one ASP.NET page to another. This query
string takes the form of a series of name/value pairs appended to the
URL after a question mark (for example, the client request
http://www.myapp.com/mypage.aspx?var1=hi will
result in a value of "hi" for
Request.QueryString["var1"]). The
QueryString collection is limited to string data
and should not contain sensitive information, as it is clearly
visible to the user. To ensure compatibility with all browsers, you
should not store more than about 1000 bytes in the query string.
The HttpRequest class also exposes an
HttpCookieCollection object in the
Cookies property. This is a collection of
client-side cookies that your script (or other scripts on your
server) have created. They are transmitted to the server with each
request in the HTTP Cookie header. This collection is read-only. If
you want to modify or add a cookie, use the
HttpResponse.Cookies property instead.
The HttpRequest class provides some frequently
used, lower-level properties. For example, the
Form collection wraps the information returned
from the HTML form elements, which you will typically access through
the higher-level web control abstraction. Similarly, the
Headers and ServerVariables
collections allow you to access HTML headers and server variables
directly, provided you know their names. Many of these variables now
have corresponding read-only properties that you can use more easily,
like HttpMethod (the data transfer method like GET
or POST), UserHostAddress (the IP address of the
client), and UserHostName (the DNS name of remote
client). The Browser property is a reference to an
HttpBrowserCapabilities object with full
information about the user's browser.
Additional information available in the
HttpRequest class includes the currently requested
URL (Url), the URL from which the request is being
made (UrlReferrer), and the root path for the
current ASP.NET application as a virtual path
(ApplicationPath) or physical filesystem path
(PhysicalApplicationPath).
public sealed class HttpRequest {
// Public Constructors
public
HttpRequest (string
filename , string
url , string
queryString );
// Public Instance Properties
public string[ ]
AcceptTypes {get; }
public string
ApplicationPath {get; }
public HttpBrowserCapabilities
Browser {set; get; }
public HttpClientCertificate
ClientCertificate {get; }
public Encoding
ContentEncoding {set; get; }
public int
ContentLength {get; }
public string
ContentType {set; get; }
public HttpCookieCollection
Cookies {get; }
public string
CurrentExecutionFilePath {get; }
public string
FilePath {get; }
public HttpFileCollection
Files {get; }
public Stream
Filter {set; get; }
public NameValueCollection
Form {get; }
public NameValueCollection
Headers {get; }
public string
HttpMethod {get; }
public Stream
InputStream {get; }
public bool
IsAuthenticated {get; }
public bool
IsSecureConnection {get; }
public NameValueCollection
Params {get; }
public string
Path {get; }
public string
PathInfo {get; }
public string
PhysicalApplicationPath {get; }
public string
PhysicalPath {get; }
public NameValueCollection
QueryString {get; }
public string
RawUrl {get; }
public string
RequestType {set; get; }
public NameValueCollection
ServerVariables {get; }
public string
this [string
key ]{get; }
public int
TotalBytes {get; }
public Uri
Url {get; }
public Uri
UrlReferrer {get; }
public string
UserAgent {get; }
public string
UserHostAddress {get; }
public string
UserHostName {get; }
public string[ ]
UserLanguages {get; }
// Public Instance Methods
public byte[ ]
BinaryRead (int
count );
public int[ ]
MapImageCoordinates (string
imageFieldName );
public string
MapPath (string
virtualPath );
public string
MapPath (string
virtualPath , string
baseVirtualDir , bool
allowCrossAppMapping );
public void
SaveAs (string
filename , bool
includeHeaders );
public void
ValidateInput ( );
}