Request对象

当客户端发出请求执行asp.net程序时,CLR会将客户端的请求信息包含在Request对象中。这些请求信息包括请求报头,客户端的基本信息(如浏览器类型,浏览器版本号,用户所用的语言以及编码方式等),请求方法(如post,get),参数名,参数值等。
Request对象的调用方法:Request.Collection["Variable"];
其中Collection包括四种集合:QueryString,Form,Cookies,ServerVariables。

1.QueryString集合收集的信息来源于请求url地址中"?"号后面的数据,这些数据称作url附加信息。

例如,www.sina.com/show.asp?id=111
在此url中,QueryString收集到的信息是"show.asp?"后面的数据"id=111"。此时,取得参数"id"的参数值的语句为:Request.QueryString["id"];
QueryString主要用于收集http协议中get请求发送的数据,如果在一个请求事件中被请求的程序url地址出现了"?"号后的数据,则表示此次请求方式为get。get方法是http中的默认请求方法。
那么,如何发送get请求方法呢?
(1)<a href="show.aspx?id=111">显示ID为111的文章</a>
  (2)<form action="show.aspx" method="get">
    <input type="text" name="id" value="111">
    </form>
下面演示一个例子,这个例子中有两个程序,分别是form1.htm和GetInfo1.aspx,其中form1.htm发送get请求,GetInfo1.aspx接收get请求。
///
form1.htm
///
<HTML>
<HEAD>
<TITLE> 发送GET请求</TITLE>
</HEAD>
<BODY>
<center>
发送GET请求
<hr>
<form action="GetInfo1.aspx" method="get">
您的大名:<input type="text" name="nickname"><br>
<input type="submit" value="发送">
<form>
</center>
</BODY>
</HTML>
//
GetInfo1.aspx
//
<% @ Page Language="C#" %>
<html>
<head>
<title>接收GET请求</title>
</head>
<body>
<center>
接收GET方法传来的值:
<hr>
<%
     string NickName = Request.QueryString["nickname"];<%--接收参数值--%>
     Response.Write("GET方法传来的nickname的值为:"+NickName);
%>
</center>
</body>
</html>
2.get方法是将传递的数据追加至url中。url地址长度是有限制的,因此使用get方法所能传递的数据也是有限的。一般地,get方法能够传递256字节的数据,在多数情况下,使用get方法传递的数据长度是远远不够的,这时便需要使用http的另外一种请求方式post,post方法可传递的数据的最大值为2MB。
post请求必须由form发出。而且,在使用post请求方法的时候,需要将"method"设置为"post"。
asp.net使用Request.Form方法接收post方法传递的数据:Request.Form["Variable"];
接下来也举两个例子,来说明post方法的使用,类似于上面的例子,注意对比。
//
form2.htm//发送post请求
//
<HTML>
<HEAD>
<TITLE> 发送POST请求</TITLE>
</HEAD>
<BODY>
<center>
发送POST请求
<hr>
<form action="GetInfo2.aspx" method="post">
您的大名:<input type="text" name="nickname"><br>
<input type="submit" value="发送">
<form>
</center>
</BODY>
</HTML>
//
GetInfo2.aspx//接收post请求
//
<% @ Page Language="C#" %>
<html>
<head>
<title>接收POST请求</title>
</head>
<body>
<center>
接收POST方法传来的值:
<hr>
<%
     string NickName = Request.Form["nickname"];
     Response.Write("POST方法传来的nickname的值为:"+NickName);
%>
</center>
</body>
</html>
3.cookie的使用(搜集中)。
4.ServerVariable

ServerVariable(环境变量)包含了客户机和服务器的系统信息。获得环境变量值的方法是:Request.ServerVariables["Variable"];
Variable参数           含义
HTTP_USER_AGENT         获得用户使用的浏览器类型和版本
REMOTE_ADDR             获取用户的IP地址
REQUEST_METHOD         获取请求的方法
LOCAL_ADDR               获取服务器的IP地址
SERVER_NAME             获取服务器的主机名
PATH_INFO                 获取当前执行程序的虚拟路径
PATH_TRANSLATED         获取当前执行程序的绝对路径
CONTENT_LENGTH         获取请求程序所发送内容的字符总数
CONTENT_TYPE             获取请求的信息类型
GATEWAY_INTERFACE       获取网关接口
QUERY_STRING             获取url的附加信息
SCRIPT_NAME               获取当前程序的文件名(包含虚拟路径)
SERVER_PORT               获取服务器接受请求的端口
SERVER_PROTOCOL         获取服务器遵从的协议以及版本号
HTTP_ACCEPT_LANGUAGE   获取用户所使用的语言
//
5.Request的Browser对象
Request.Browser.Browser//检测浏览器的类型
Request.Browser.Version//检测浏览器的版本
Request.Browser.ActiveXControls//检测浏览器是否支持ActiveX控件
Request.Browser.Cookies//检测浏览器是否支持Cookies
Request.Browser.VBScript//检测浏览器是否支持VBScript
6.其它Request属性和方法
FilePath         取得当前请求的文件路径
HttpMethod     取得当前请求的方法
Files           关乎文件的上传,后面会讲解
Params         获得QueryString+Form+ServerVariable+Cookies的集合
TotalBytes     请求内容的大小
Url             获得url信息
UserHostAddress 取得用户的IP地址
UserHostName   取得用户的主机名
UserLanguages   取得用户所用语言

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql连接远程服务器索引超出了_手机怎么连接服务器远程桌面?RD client远程桌面使用教程...

大家好啊&#xff0c;现在很多游戏、应用为了体验感好、方便使用都实现了多端同步&#xff0c;服务器远程连接也不例外&#xff0c;今天给你们分享手机连接服务器远程桌面的操作方法【 好东西一起分享&#xff0c;好音乐一起听 】不管是安卓还是苹果手机&#xff0c;咱们都需要…

java垃圾回收机制

为什么80%的码农都做不了架构师&#xff1f;>>> Java垃圾回收机制 C程序员觉得内存管理太重要了,所以一定需要自己管理, java程序员觉得内存管理太重要了,所以一定不能自己管理! 一、简述 垃圾回收是一种动态存储管理技术&#xff0c;它自动地释放不再被程序引用的…

C语言顺序结构程序设计PPT,C语言21(顺序结构程序设计之1).ppt

《C语言21(顺序结构程序设计之1).ppt》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《C语言21(顺序结构程序设计之1).ppt(28页珍藏版)》请在人人文库网上搜索。1、上一节我们学了,C语言程序的结构 C语言程序的书写规范,第2章 最简单的C程序设计,-顺序程序设计,C程序常…

神PS!老爸把儿子的画作P成现实,看完我笑哭了

全世界只有3.14 % 的人关注了爆炸吧知识只要你敢画&#xff0c;我就敢P成现实这种脑洞大开的事发生在英国的一对父子身上儿子天马行空地乱画爸爸认认真真地P出来象君几年前在ins发现了这对宝藏父子没想到他们的疯狂依旧在继续着四脚怪物系列看上去好像也没什么毛病你就是我见过…

单体应用 适合采用 dapr 构建吗?

缘起今天在微信群里有同学问 ”纯.net 项目&#xff0c;有必要上dapr吗&#xff1f;” 当时不假思索的说不是微服务没必要&#xff0c;其他群友也说没必要。下午细想了一下&#xff0c;觉得这个和微服务没有关系&#xff0c;如果我的应用是个单体架构&#xff08;将所有功能都部…

在主窗体中打开一个新子窗体,如果已有子窗体,则激活它,而不打开新的。...

frmGroupMgr fgm null; //遍历窗体中是否已存在同名的子窗体 foreach (Form f in this.MdiChildren) { //检测是不是当前子窗体名称 if (f.Text "组管理") { f.Activate(); fgm f as frmGroupMgr; break; } } //窗体中没有该子窗体 则打开一个新窗体 if (fgm nul…

EqualLogic全攻略视频[(四)高级管理]

制片人&#xff1a; 戴尔中国大客户部高级市场经理 Andy Peng 彭宇恒 演讲者&#xff1a; 戴尔亚太区存储技术总监 Alvin Kho 许良谋 戴尔中国高级系统工程师 English Li 李英文 EqualLogic全攻略视频[&#xff08;四&#xff09;高级管理] 更多精彩文章请关注: 戴尔技术社区转…

一次面试引发的思考(中小型网站优化思考) (转)

前言 故事的起因是这样的&#xff0c;由于本人地处偏僻工作地点在美丽的冰城哈尔滨虽然地方很美丽&#xff0c;但是这里的软件行业实在是算不上“美丽”&#xff0c;这么多年由于个人原因或者公司原因经常换工作&#xff0c;因为这里都是中小型公司&#xff0c;没有什么大公司。…

string 字符串中字符无效_JavaScript中的字符串(string)到底是什么?

通过可见字符建模把JavaScript中的string当作字符序列来看待是最直观的&#xff0c;虽然这样并不准确。以下代码示例中的字符串由5个字母和一个感叹号组成&#xff1a;const message Hello!;如果把string当作是可见的字符序列&#xff0c;那么Hello!中的字符数是6&#xff1a;…

c语言二维数组代码,C语言之二维数组(示例代码)

二维数组及其指针1 ) 在了解二维数组之前&#xff0c;我们先来了解一维数组及其指针我们知道&#xff0c;一维数组中&#xff1a;数组名代表-->数组首元素的首地址(千万不要认为是数组的首地址(&a)&#xff0c;绝对不是)在内存中&#xff0c;该代码的表现形式如下图&…

颜宁分享干货:给实验室博士的一些忠告

全世界只有3.14 % 的人关注了爆炸吧知识本文来源&#xff1a;颜宁微博nyouyou&#xff0c;作者&#xff1a;颜宁前几日&#xff0c;颜宁在微博上与大家分享自己做实验记录的心得。在此贴出&#xff0c;与大家分享~从我进Shi Lab的第一天&#xff0c;就被导师灌输&#xff1a;好…

研发考核难的本质是因为这三个特点

大家好&#xff0c;我是Z哥。我坦白&#xff0c;这篇是早就写好的库存文章&#xff0c;包括上周的那篇也是。原因是最近跳槽了&#xff0c;到新公司忙得飞起&#xff0c;都没时间写文章。还好我之前未雨绸缪准备了几篇提前写好的文章作为余量&#xff5e;我尽量能保持不断更&am…

点击User Profile Service Application 报错

给客户部署的MOSS2010 SP1版本&#xff0c;部署完毕后&#xff0c;发现点击User Profile Service Application服务进行配置的时候&#xff0c;总是报错&#xff0c;上网查了一下&#xff0c;发现原来是微软的一个补丁包没有安装&#xff0c;于是下载了这个几乎1G的补丁包&#…

剑指offer-面试题13.在O(1)时间删除链表节点

题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。 链表节点与函数的定义如下。 通常我们删除某个节点都是从头开始遍历到需要删除节点的前一个节点。 然后使得该节点的next指向删除节点的next即可&#xff0c;这样看来删除一个节点 的复杂度为O(n)…

c语言程序stm8s,stm8s的c语言编程例程

stm8s的c语言编程例程实例一&#xff1a;控制灯的亮灭(或者蜂鸣器响&#xff0c;只要连接相应端口就可以了)&#xff1a;#i nclude "stm8s.h"〃头文件#defi ne ulong un sig ned long///void delay( ulong i){ulo ng j;for(j0;j{&#xff1b;}} 延时函数void mai n( …

python画图比赛_Python选修课第二届Turtle绘图大赛

20181101173,荀梓恒20181101197,叶普旭代码如下&#xff1a;import turtle as tt.setup(width0.5, height0.75, startxNone, startyNone)t.hideturtle()t.speed(10)t.pensize(2)t.penup()t.goto(100,200)t.pendown()t.setheading(90)t.begin_fill()t.colormode(255)t.fillcolor…

为什么不能一次走遍哥尼斯堡的7座桥

全世界只有3.14 % 的人关注了爆炸吧知识数学的快乐到底有多简单今天&#xff0c;8岁表妹问了一个问题&#xff1a;看到这种类似11&#xff1f;的问题&#xff0c;超模君几乎不用思考就已经知道答案。但为了体现让表妹系统的理解知识&#xff0c;所以我决定......发生在哥尼斯堡…

官宣,11月8号,.NET6+64位VS璀璨面世!

12号&#xff0c;.NET6 RC2发布&#xff0c;13号&#xff0c;VS2022 RC版发布&#xff0c;11月8号&#xff0c;.NET6VS2022C#10 正式版将同时发布&#xff0c;.NET开发将步入全新篇章&#xff0c;各种新语法、新框架、新技术都如约而至&#xff0c;令人期待&#xff01;然而&am…

IUnknown接口QueryInterface函数介绍

一、COM组件的目标&#xff1a; COM组件的一个主要优势是&#xff1a;便于升级。 要实现这个优势需要满足一下两个条件&#xff1a; 1、运行时从客户程序动态加载和卸载&#xff0c;采用DLL技术可以实现。 2、为了更好的突出DLL的优势&#xff0c;还需要信息隐藏&#xff0c;即…

stc单片机c语言 pdf,STC单片机C语言程序设计 第13章 STC单片机C语言指针.pdf

STC单片机C语言指针主讲&#xff1a;何宾Email &#xff1a;hebinmail.buct.edu.cn2016.03C51编译器中指针的分类Cx51编译器支持使用字符“*”声明变量指针。C51编译器可以执行在标准C中所提供的所有操作。但是&#xff0c;由于8051独一无二的结构以及特点&#xff0c;C51编译器…