zoukankan      html  css  js  c++  java
  • ASP.Net核心对象HttpRequest

    描述
    context. Request["username"]; 通过这种方式,能够得到一个HttpRequest对象。
    HttpRequest对象描述了,关于请求的相关信息,
    我们可以通过这个对象,拿到我们想要的请求数据

    写一个方法获取是否含有a元素
    方法一:
    void Test(HttpContext context)
    {
      if (!string.IsNullOrEmpty(context.Request["a"]))
      {
        context.Response.Write("你好牛");
      }
    }
    方法二:
    void tt1()
    {
      HttpContext context = HttpContext.Current;
      if (!string.IsNullOrEmpty(context.Request["a"]))
      {
        context.Response.Write("你好牛11");
      }
    }

    <form action="Test1.ashx" method="post">
    <input type="text" name="name" />
    <input type="text" name="age" />
    <input type="submit" />
    </form>
    1.post获取方法,获取通过报文体传输的参数post(get获取不到,为NULL):
    注意:请求获取的参数都是字符串
    string name = context.Request.Form["name"];
    string age = context.Request.Form["age"];
    2.get获取方法,则通过QueryString获取(post获取不到,为NULL):
    string name = context.Request.QueryString["name"];
    string age = context.Request.QueryString["age"];
    3.不管是post还是get都可获取:
    string name = context.Request["name"];
    string age = context.Request["age"];

    顺序从QueryString、Form、Cookies、 ServerVariables中找,第一个找到的就是(反编译验证),虽然使用Request[]的这种方式获取请求数据,效率会略有下降(几乎可忽略不计),但使用起来真心方便啊。

    注意:当用get或post方法获取不到值时,string类型返回的是null,int类型返回的是0

    关于请求数据的类型 
    请求参数获取的都是String类型数据,因为Http协议就是文本。
    所以获取请求来的数据,大多需要数据转换。

    通过HttpRequest对象获取一些请求信息
    1)浏览器
    context.Request.Browser.Browser
    2)操作系统信息
    context.Request.Browser.Platform
    3)浏览器内核版本
    context.Request.Browser.Version
     
    4)请求报文头
    //Request.Headers请求报文头 
    for (int i = 0; i < context.Request.Headers.AllKeys.Length; i++)
    {
         string key = context.Request.Headers.AllKeys[i];
         string value = context.Request.Headers[key];
         context.Response.Write(key + "=" + value + " ");
      }
     
    5)获取请求方式 (GET   or   POST?)
    context.Request.HttpMethod
    6)获取请求页面文件路径(相对)
    context.Request.Path
    7)获取请求参数
    context.Request.QueryString
    8)被请求的文件的服务器上的物理路径
    context.Request.PhysicalPath
    9)获取用户代理
    context.Request.UserAgent
    10)客户端的IP地址
    context.Request.UserHostAddress
    11)获取客户端上次请求的url的有关信息
    context.Request.UrlReferrer
    12)浏览器支持什么语言
    context.Request.UserLanguages)

    context.Request.FilePath;//获取当前请求的虚拟路径
    context.Request.Files;//获取采用多部分 MIME 格式的由客户端上载的文件的集合
    context.Request.Form; //获取窗体变量集合,method为post时用此方法请求
    context.Request.HttpMethod;//获取客户端使用的 HTTP 数据传输方法(如 GET、POST 或 HEAD)
    context.Request.MapPath;//将指定的虚拟路径映射到物理路径
    context.Request.Path;//获取当前请求的虚拟路径
    context.Request.QueryString;//获取 HTTP 查询字符串变量集合,method为get时用此方法请求
    context.Request.RawUrl;//获取当前请求的原始 URL
    context.Request.RequestType;//获取或设置客户端使用的 HTTP 数据传输方法(GET 或 POST)
    context.Request.ServerVariables;//获取 Web 服务器变量的集合
    context.Request.Url;//获取有关当前请求的 URL 的信息
    context.Request.UrlReferrer;//获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL
    context.Request.UserAgent;//获取客户端浏览器的原始用户代理信息
    context.Request.UserHostAddress;//获取远程客户端的 IP 主机地址
    context.Request.UserHostName;//获取远程客户端的 DNS 名称

  • 相关阅读:
    IE 8无法使用R12的解决办法
    ERP系统里的BOM展开函数
    BOM递归查询小实例
    使用标准Package提交Workflow
    查询WIP离散工单的所有组件
    Oracle EBS 各模块中文名称及英文缩写
    ORACLE EBS CUX用户的创建(转)
    HR人员基本信息、分配信息和地址信息SQL
    在Oracle中计算Onhand Quantity
    来自于Mozilla Networks演示工作室的超酷CSS3/Javascript动画演示
  • 原文地址:https://www.cnblogs.com/genesis/p/4661972.html
Copyright © 2011-2022 走看看