ASP.NETHttpRequest类有哪些应用场景和特点?

2026-03-26 22:521阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1580个文字,预计阅读时间需要7分钟。

ASP.NETHttpRequest类有哪些应用场景和特点?

HttpRequest 类介绍:查看HttpRequest类,点击查看;HttpRequest类中的方法封装,跟这个类对应的HttpResponse类定义:使用ASP.NET,能够读取客户端在Web请求期间发送的HTTP值。

HttpRequest 类

关于此类的介绍:查看HttpRequest类

点击查看:HttpRequest中方法的封装

跟这个类对应的HttpResponse类

定义:使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值。

public sealed class HttpRequest

注:本篇主要介绍可以根据这个类获取什么信息,只会介绍一些用到的方法。

你先要在引用中添加 System.Web.然后引用命名空间。

属性:

public void GetTest() { int loop1, loop2; NameValueCollection coll; //System.Collections.Specialized; 命名空间下 // Load ServerVariable collection into NameValueCollection object. coll = Request.ServerVariables; // Get names of all keys into a string array. String[] arr1 = coll.AllKeys; for (loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("Key: " + arr1[loop1] + "<br>"); String[] arr2 = coll.GetValues(arr1[loop1]); for (loop2 = 0; loop2 < arr2.Length; loop2++) { Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>"); } } }

public Uri UrlReferrer { get; }

Url类简单介绍

定义: 提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。

属性: 截取一部分属性

返回字符串类型

测试:

页面1有一个连接到页面2去

<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/TestDemo/WebForm2.aspx">LinkButton</asp:LinkButton>

页面2的加载事件把上一个URL信息输出

protected void Page_Load(object sender, EventArgs e) { Uri MyUrl = Request.UrlReferrer; Response.Write("Referrer URL: " + Server.HtmlEncode(MyUrl.AbsoluteUri) + "<br>"); Response.Write("Referrer URL Port: " + Server.HtmlEncode(MyUrl.Port.ToString()) + "<br>"); Response.Write("Referrer URL Protocol: " + Server.HtmlEncode(MyUrl.Scheme) + "<br>"); Response.Write("Referrer URL: " + Server.HtmlEncode(MyUrl.Query) + "<br>"); }

传参是一样的(需要使用get传参)

用途:

使用这个很好的可以解决我们登入返回登入页面的问题。登入返回登入前的页面还可以使用Session解决,在登入前把页面信息都保存起来,登入成功后在读取出来。

注:需要在登入页面的加载事件把上一个URL用字符串存起来,登入成功了,跳转这个字符串。(写了登入事件,点击的时候会让页面刷新,上一个页面就是本事页面了)

解决方法:

string beforeURL = ""; //第一次进入的时候把之前的页面存起来 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.UrlReferrer != null) //如果这个页面是第一个打开的,这个值为空 { beforeURL = Request.UrlReferrer.ToString(); } } }

if (beforeURL!="") { Response.Redirect(beforeURL); } else { Response.Redirect("HomePage/Index.aspx"); }

这三个都是返回字符串类型

备注:原始 URL 被指以下域信息的 URL 的一部分。在 URL 字符串 www.contoso.com/articles/recent.aspx,原始的 URL 是 /articles/recent.aspx。如果存在,原始的 URL 包括查询字符串。

Response.Write("Referrer1: " + Server.HtmlEncode(Request.PhysicalApplicationPath) + "<br>"); Response.Write("Referrer2: " + Server.HtmlEncode(Request.PhysicalPath) + "<br>"); Response.Write("Referrer URL: " + Server.HtmlEncode(Request.RawUrl) + "<br>");

属性:

Response.Write("Type: " + Server.HtmlEncode(Request.Browser.Type) + "<br>");

Response.Write("Url: " + Server.HtmlEncode(Request.Url.ToString()) + "<br>");

Url: localhost:4265/TestDemo/WebForm1.aspx?data=1&ke=good

get传参

string fullname1 = Request.QueryString["fullname"]; //返回的是string类型 string fullname2 = Request["fullname"];

第一行代码会查找键"fullname"仅在查询字符串中;第二行中查找"fullname"中的所有 HTTP 请求集合的键。

HttpRequest.Item 属性 (String)

从QueryString、Form、Cookies或ServerVariables集合获取指定的对象。

Type:System.Collections.Specialized.NameValueCollection

NameValueCollection 类

表示可通过键或索引访问的关联String键和String值的集合。

post传参

Form和QueryString是一样的,都可以使用下面的方法获取都有的健和值

int loop1 = 0; NameValueCollection coll = Request.QueryString; //注意引用命名空间 string[] arr1 = coll.AllKeys; for (loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("Form: " + arr1[loop1] + ",Vlue:"+ Request.QueryString[arr1[loop1]] + "<br>"); }

protected void Page_Load(object sender, EventArgs e) { int loop1, loop2; NameValueCollection coll; // Load Header collection into NameValueCollection object. coll = Request.Headers; // Put the names of all keys into a string array. String[] arr1 = coll.AllKeys; for (loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("Key: " + arr1[loop1] + "<br>"); // Get all values under this key. String[] arr2 = coll.GetValues(arr1[loop1]); for (loop2 = 0; loop2 < arr2.Length; loop2++) { Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>"); } } }

Request.Cookies["XX"];//返回的是HttpCookie类

HttpCookie 类

提供以类型安全的方式来创建和操作单个 HTTP cookie。

命名空间:System.Web

简单的设想Cookies

设置一个Cookies

ASP.NETHttpRequest类有哪些应用场景和特点?

Response.Cookies["one"].Value =Server.UrlEncode("我的Cookie值"); //要存储中文需要编码

获取一个Cookies

Response.Write(Server.UrlDecode(Request.Cookies["one"].Value) +"<br>");//进行解码

还可以在一个Cookies里面设置多个健

HttpCookie myCookie = new HttpCookie("two"); myCookie.Values["Name"] = "li";//中文编码 myCookie.Values["Age"] = "18"; Response.Cookies.Add(myCookie);

Response.Write(Request.Cookies["two"].Value+"<br>"); Response.Write(Request.Cookies["two"].Values + "<br>"); Response.Write(Request.Cookies["two"].Values["Name"] + "<br>"); Response.Write(Request.Cookies["two"]["Age"] + "<br>");

调用封装的方法:

HttpRequestC.WriteCookie("one", "我的Cookied值"); HttpRequestC.WriteCookie("two", "li", "Name"); HttpRequestC.WriteCookie("two", "187", "Age");

Response.Write(HttpRequestC.GetCookie("one")+"<br>"); Response.Write(HttpRequestC.GetCookie("two","Name") + "<br>"); Response.Write(HttpRequestC.GetCookie("two", "Age") + "<br>");

Request.Params["xxx"];//通用方法

HttpFileCollection.Item 属性 (String)

HttpPostedFile 类

提供已上载的客户端的各个文件的访问权限。

<asp:FileUpload ID="fileUpload" runat="server" /> <asp:FileUpload ID="fileTwo" runat="server" />

protected void LinkButton1_Click(object sender, EventArgs e) { int loop1; HttpFileCollection Files = Request.Files; string[] arr1 = Files.AllKeys; for (loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("File: " + Server.HtmlEncode(arr1[loop1]) + "<br />"); Response.Write(" size = " + Files[loop1].ContentLength + "<br />"); Response.Write(" content type = " + Files[loop1].ContentType + "<br />"); } HttpPostedFile pf = Request.Files["fileTwo"]; Response.Write("Name:"+pf.FileName+"<br>"); Response.Write("流对象:"+pf.InputStream + "<br>"); Response.Write("字节:"+pf.ContentLength + "<br>"); Response.Write("类型:"+pf.ContentType + "<br>"); }

基本介绍就到这了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

标签:ASP

本文共计1580个文字,预计阅读时间需要7分钟。

ASP.NETHttpRequest类有哪些应用场景和特点?

HttpRequest 类介绍:查看HttpRequest类,点击查看;HttpRequest类中的方法封装,跟这个类对应的HttpResponse类定义:使用ASP.NET,能够读取客户端在Web请求期间发送的HTTP值。

HttpRequest 类

关于此类的介绍:查看HttpRequest类

点击查看:HttpRequest中方法的封装

跟这个类对应的HttpResponse类

定义:使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值。

public sealed class HttpRequest

注:本篇主要介绍可以根据这个类获取什么信息,只会介绍一些用到的方法。

你先要在引用中添加 System.Web.然后引用命名空间。

属性:

public void GetTest() { int loop1, loop2; NameValueCollection coll; //System.Collections.Specialized; 命名空间下 // Load ServerVariable collection into NameValueCollection object. coll = Request.ServerVariables; // Get names of all keys into a string array. String[] arr1 = coll.AllKeys; for (loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("Key: " + arr1[loop1] + "<br>"); String[] arr2 = coll.GetValues(arr1[loop1]); for (loop2 = 0; loop2 < arr2.Length; loop2++) { Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>"); } } }

public Uri UrlReferrer { get; }

Url类简单介绍

定义: 提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。

属性: 截取一部分属性

返回字符串类型

测试:

页面1有一个连接到页面2去

<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/TestDemo/WebForm2.aspx">LinkButton</asp:LinkButton>

页面2的加载事件把上一个URL信息输出

protected void Page_Load(object sender, EventArgs e) { Uri MyUrl = Request.UrlReferrer; Response.Write("Referrer URL: " + Server.HtmlEncode(MyUrl.AbsoluteUri) + "<br>"); Response.Write("Referrer URL Port: " + Server.HtmlEncode(MyUrl.Port.ToString()) + "<br>"); Response.Write("Referrer URL Protocol: " + Server.HtmlEncode(MyUrl.Scheme) + "<br>"); Response.Write("Referrer URL: " + Server.HtmlEncode(MyUrl.Query) + "<br>"); }

传参是一样的(需要使用get传参)

用途:

使用这个很好的可以解决我们登入返回登入页面的问题。登入返回登入前的页面还可以使用Session解决,在登入前把页面信息都保存起来,登入成功后在读取出来。

注:需要在登入页面的加载事件把上一个URL用字符串存起来,登入成功了,跳转这个字符串。(写了登入事件,点击的时候会让页面刷新,上一个页面就是本事页面了)

解决方法:

string beforeURL = ""; //第一次进入的时候把之前的页面存起来 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.UrlReferrer != null) //如果这个页面是第一个打开的,这个值为空 { beforeURL = Request.UrlReferrer.ToString(); } } }

if (beforeURL!="") { Response.Redirect(beforeURL); } else { Response.Redirect("HomePage/Index.aspx"); }

这三个都是返回字符串类型

备注:原始 URL 被指以下域信息的 URL 的一部分。在 URL 字符串 www.contoso.com/articles/recent.aspx,原始的 URL 是 /articles/recent.aspx。如果存在,原始的 URL 包括查询字符串。

Response.Write("Referrer1: " + Server.HtmlEncode(Request.PhysicalApplicationPath) + "<br>"); Response.Write("Referrer2: " + Server.HtmlEncode(Request.PhysicalPath) + "<br>"); Response.Write("Referrer URL: " + Server.HtmlEncode(Request.RawUrl) + "<br>");

属性:

Response.Write("Type: " + Server.HtmlEncode(Request.Browser.Type) + "<br>");

Response.Write("Url: " + Server.HtmlEncode(Request.Url.ToString()) + "<br>");

Url: localhost:4265/TestDemo/WebForm1.aspx?data=1&ke=good

get传参

string fullname1 = Request.QueryString["fullname"]; //返回的是string类型 string fullname2 = Request["fullname"];

第一行代码会查找键"fullname"仅在查询字符串中;第二行中查找"fullname"中的所有 HTTP 请求集合的键。

HttpRequest.Item 属性 (String)

从QueryString、Form、Cookies或ServerVariables集合获取指定的对象。

Type:System.Collections.Specialized.NameValueCollection

NameValueCollection 类

表示可通过键或索引访问的关联String键和String值的集合。

post传参

Form和QueryString是一样的,都可以使用下面的方法获取都有的健和值

int loop1 = 0; NameValueCollection coll = Request.QueryString; //注意引用命名空间 string[] arr1 = coll.AllKeys; for (loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("Form: " + arr1[loop1] + ",Vlue:"+ Request.QueryString[arr1[loop1]] + "<br>"); }

protected void Page_Load(object sender, EventArgs e) { int loop1, loop2; NameValueCollection coll; // Load Header collection into NameValueCollection object. coll = Request.Headers; // Put the names of all keys into a string array. String[] arr1 = coll.AllKeys; for (loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("Key: " + arr1[loop1] + "<br>"); // Get all values under this key. String[] arr2 = coll.GetValues(arr1[loop1]); for (loop2 = 0; loop2 < arr2.Length; loop2++) { Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>"); } } }

Request.Cookies["XX"];//返回的是HttpCookie类

HttpCookie 类

提供以类型安全的方式来创建和操作单个 HTTP cookie。

命名空间:System.Web

简单的设想Cookies

设置一个Cookies

ASP.NETHttpRequest类有哪些应用场景和特点?

Response.Cookies["one"].Value =Server.UrlEncode("我的Cookie值"); //要存储中文需要编码

获取一个Cookies

Response.Write(Server.UrlDecode(Request.Cookies["one"].Value) +"<br>");//进行解码

还可以在一个Cookies里面设置多个健

HttpCookie myCookie = new HttpCookie("two"); myCookie.Values["Name"] = "li";//中文编码 myCookie.Values["Age"] = "18"; Response.Cookies.Add(myCookie);

Response.Write(Request.Cookies["two"].Value+"<br>"); Response.Write(Request.Cookies["two"].Values + "<br>"); Response.Write(Request.Cookies["two"].Values["Name"] + "<br>"); Response.Write(Request.Cookies["two"]["Age"] + "<br>");

调用封装的方法:

HttpRequestC.WriteCookie("one", "我的Cookied值"); HttpRequestC.WriteCookie("two", "li", "Name"); HttpRequestC.WriteCookie("two", "187", "Age");

Response.Write(HttpRequestC.GetCookie("one")+"<br>"); Response.Write(HttpRequestC.GetCookie("two","Name") + "<br>"); Response.Write(HttpRequestC.GetCookie("two", "Age") + "<br>");

Request.Params["xxx"];//通用方法

HttpFileCollection.Item 属性 (String)

HttpPostedFile 类

提供已上载的客户端的各个文件的访问权限。

<asp:FileUpload ID="fileUpload" runat="server" /> <asp:FileUpload ID="fileTwo" runat="server" />

protected void LinkButton1_Click(object sender, EventArgs e) { int loop1; HttpFileCollection Files = Request.Files; string[] arr1 = Files.AllKeys; for (loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("File: " + Server.HtmlEncode(arr1[loop1]) + "<br />"); Response.Write(" size = " + Files[loop1].ContentLength + "<br />"); Response.Write(" content type = " + Files[loop1].ContentType + "<br />"); } HttpPostedFile pf = Request.Files["fileTwo"]; Response.Write("Name:"+pf.FileName+"<br>"); Response.Write("流对象:"+pf.InputStream + "<br>"); Response.Write("字节:"+pf.ContentLength + "<br>"); Response.Write("类型:"+pf.ContentType + "<br>"); }

基本介绍就到这了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

标签:ASP