HttpRequest类

一、HttpRequest的作用

  HttpRequest的作用是令到Asp.net能够读取客户端发送HTTP值。比如表单、URL、Cookie传递过来的参数。

  返回字符串的那些值就不说了,那些基本上都是与HTTP请求报文相关的东西。

  现在看看返回NameValueCollection对象的东东,这个对象只是为了存储返回的东西。

  1、Request.Headers;

  这个东西返回的是什么呢?写个实例:

        public ActionResult Index()
        {
            HttpRequest request = System.Web.HttpContext.Current.Request;
            NameValueCollection headersCollect = request.Headers;
            string[] headArr = headersCollect.AllKeys;
            foreach (string str in headArr)
            {
                Response.Write(str + ":" + headersCollect.Get(str) + ";<br/>");
            }
            return View();
        }

  看看在浏览器输出:

  再用火狐看看HTTP请求报文的请求头信息:

  明显可以看到,这个request.Headers返回的就是请求头信息的一个NameValueCollection集合。

  2、Request.Form

  这个属性获取的是浏览器提交的表单内容,也是返回NameValueCollection对象,这个对象中包含了所有的表单键值对内容。

  看前台HTML代码:

<form action="/Home/GetForm" method="post">
    <p>姓名:<input type="text" name="Name" /></p>  //输入张三
    <p>年龄:<input type="text" name="Age" /></p>   //输入12
    <p>性别:<input type="radio" name="male" value="man" />男 &nbsp; <input type="radio" name="male" value="woman" />女</p>  //选择 男
    <p><input type="submit" value="提交" /></p>
</form>

  后台代码:

        public ActionResult GetForm()
        {
            HttpRequest request = System.Web.HttpContext.Current.Request;
            NameValueCollection FormCollect =  request.Form;
            foreach (string str in FormCollect)
            {
                Response.Write(str + ": " + FormCollect.Get(str) + "<br/>");
            }
            return Content("键值对数目:" + FormCollect.Count);
        }

  浏览器输出:

Name: 张三
Age: 12
male: man
键值对数目:3

   3、Request.QueryString

  该属性的作用是将URL中的参数全部保存到NameValueCollection集合中。

        public ActionResult TestCookie()
        {
            NameValueCollection nvc = new NameValueCollection();
            nvc = System.Web.HttpContext.Current.Request.QueryString;
            Response.Write(nvc.Count + "   ");  //输出路径中参数集合的总数
            if (nvc.Count > 0)
            {
                foreach (string str in nvc.AllKeys)
                {
                    Response.Write(str + ": " + nvc.Get(str) + ";  ");      //遍历url参数集合,输出参数名与值
                }
            }
            return View();
            //当路径为http://localhost:22133/Home/testCookie?id=1&name=张三&Age=23
            //输出3 id: 1; name: 张三; Age: 28;             

  4、Params,Item与QueryString、Forms的区别

  • Get请求用QueryString;
  • Post请求用Forms;
  • Parms与Item可以不区分Get请求还是Post请求;

  Params与Item两个属性唯一不同的是:Item是依次访问这4个集合,找到就返回结果,而Params是在访问时,先将4个集合的数据合并到一个新集合(集合不存在时创建), 然后再查找指定的结果。

HttpRequest类,布布扣,bubuko.com

时间: 2024-12-06 08:04:14

HttpRequest类的相关文章

HttpRequest 类

HttpRequest类       Request对象派生自HttpRequest类,使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值,从客户端获取信息,浏览器的种类,用户输入表单的数据,Cookies,客户端认证等,对应的Response.Write 负责处理前者获取的东西. 构造函数:public HttpRequest(string filename, string url, string queryString)       filename:与请求关联的文件

.net学习笔记----HttpRequest类

一.HttpRequest的作用 HttpRequest的作用是令到Asp.net能够读取客户端发送HTTP值.比如表单.URL.Cookie传递过来的参数. 返回字符串的那些值就不说了,那些基本上都是与HTTP请求报文相关的东西. 现在看看返回NameValueCollection对象的东东,这个对象只是为了存储返回的东西. 1.Request.Headers; 这个东西返回的是什么呢?写个实例: public ActionResult Index() { HttpRequest reques

HttpFileCollection类

最近在学HttpRequest类搞文件上传的时候看到Request.Files返回了HttpFileCollection 这个类的一个对象,这个类用于获取浏览器上传的文件集合,在文件上传的时候可以通过这个集中获取上传的文件内容,文件名等信息.以下来详细了解一下这个类. 以下给出常用属性与公用方法. 1.属性 AllKeys:获取一个字符串数组,该数组包含文件集合中所有成员的键名key,说白了就是所有<input type=”file” name=”xx”>的name的值组成的字符串数组. Co

HttpWebRequest类

HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebRequest用于客户端,拼接请求的HTTP报文并发送等. HttpWebRequest这个类非常强大,强大的地方在于它封装了几乎HTTP请求报文里需要用到的东西,以致于能够能够发送任意的HTTP请求并获得服务器响应(Response)信息.采集信息常用到这个类.在学习这个类之前,首先有必要了解下HTTP方面

HttpCookieCollection类

一.最近在研究HttpRequest类的时候,发现返回的cookie集合是存在放这个类的对象的.而实际上这个类只是一个HttpCookie对象的集合,关于HttpCookie类可以查看http://www.cnblogs.com/kissdodog/archive/2013/01/08/2851937.html 一.公共属性 AllKeys 获取一个字符串数组,该数组包含此 Cookie 集合中的所有键(Cookie 名称).说白了就是所有的key组成的字符串.  Count   获取包含在 N

C#服务端Http请求之HttpRequest

与客户端Http请求类HttpWebRequest相对的服务端Http请求类是HttpRequest.HttpApplication.HttpContext.Page.UserControl类的Request属性都是HttpRequest类的实例.HttpRequest类使得Asp.Net能够读取客户端(如浏览器或使用了HttpWebRequest类的客户端程序)在Web请求期间发送的Http值.常见的Http值是客户端以Get方式传来的Url参数.Post方式提交过来的表单项和文件:不常见的H

.net学习笔记----HttpRequest,WebRequest,HttpWebRequest区别

WebRequest是一个虚类/基类,HttpWebRequest是WebRequest的具体实现 HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebRequest用于客户端,拼接请求的HTTP报文并发送等. http://www.cnblogs.com/kissdodog/archive/2013/04/06/3002779.html

Request类和Response类(转载)

对象Request派生自HttpRequest类,从客户端获取信息,浏览器的种类,用户输入表单的数据,Cookies,客户端认证等对应的Response.Write  负责处理前者获取的东西 表单提交get...?xxx=value&yyy=valuepost浏览器请求的HTTP标头中返回服务器 getstring id = Request.QuerryString["name"];string age = Request.QuerryString["age"

利用java反射实现tomcat运行中添加新类

个人博客地址:http://www.cnblogs.com/wdfwolf3/.转载注明出处,谢谢. Java 反射一个是可以获取程序在运行时刻的内部结构,二是在运行时刻对一个Java对象进行操作.主要用途有以下几点: 1.工厂模式:Factory类中用反射的话,添加了一个新的类之后,就不需要再修改工厂类Factory了 2.数据库JDBC中通过Class.forName(Driver)来获得数据库连接驱动 3.分析类文件:得到类中的方法等等,访问一些不能访问的变量或属性(破解别人代码). 之前