龙空技术网

Asp内建的request对象五个获取客户端资料的方法

傻可的日常 104

前言:

眼前各位老铁们对“asp获取session的值”都比较关切,看官们都想要分析一些“asp获取session的值”的相关资讯。那么小编也在网摘上汇集了一些有关“asp获取session的值””的相关文章,希望咱们能喜欢,同学们快快来学习一下吧!

Asp内建的request对象拥有五个获取客户端资料的方法(QueryString/Form/Cookies/ServerVariables/ClientCertificate)。

语法:request.方法名称("参数")|request("参数")

如果采用后者,系统会自动选择相应的方法。

Form

这里再重新强调Form的一些属性:

Enctype=资料传送的MIME形态

Method=传送资料的方式Get/Post

Onrest=按下rest键调用的程序

Onsubmit=按下sumit键调用程序

Target=输出内容的frame窗口>

使用Form传送信息一般有三种方式:由html网页内的Form传信息给其他Asp;由Asp内的Form传信息给另外一个Asp;Asp内的信息传送给自身。

语法:Request.Form(参数)[(索引)]

其中参数表示Form中元素的名称,索引表示相同名称元素的顺序号。

例:

可循环读取名称为user的元素,其中Count是Form的系统属性,用于计算同名元素的个数,如果该元素不存在,则其值为零。如果没有指明要读取第几个同名元素,则系统会把全部同名元素的值都读取出来,并用“,”作间隔。

例:Request.form("user")=abc,bcd,cde

2、QueryString

语法:Request.QueryString(参数)[(索引)]

除了用Form传输资料外,还可通过在超链接后接“?”的方式传输信息,如:,这时可通过Request.QueryString("user")读取传输的信息;如果出现多个重名的参数,如:,则第一次

Resquest.QueryString("user")=abc,第二次

Resquest.QueryString("user")=bcd,第三次

Resquest.QueryString("user")=cde。

3、ServerVariables

语法:ServerVariables(参数名称)

我们知道Web/Browse的传输协议是http,http的报头会有一些客户端的信息,如

客户IP地址、浏览器的语言系统等。这时可通过Request.ServerVariables("***")获取相关信息,如Request.ServerVariables("Accept_Language")可获取客户端浏览器 的语系。其他系统参数见下表:

SERVER_NAME server的机器名称或IP地址。

SERVER_PORT server正在运行的端口号

REQUEST_METHOD 发出request的方法(GET/POST/HEAD

SCRIPT_NAME 程序被调用的路径,如:CGI-bin/a.pl。

REMOTE_HOST 发出request请求的远端机器(client)的名称。

REMOTE_ADDR 发出request请求的远端机器(client)的IP地址。

REMOTE_IDENT 发出request的使用者名称(如是拨号上网,则为用户ID),当NCSA IdentityCheck为enabled,而且client机器支持RFC 931时,该变量有效。

CONTENT_TYPE 数据的MIME类型,如:“text/html”。

HTTP_ACCEPT client可以接受的MIME类型列表。

HTTP_USER_AGENT client发出request的浏览器类型。

HTTP_REFERER 在读取CGI程序之前,client所指的文本URL。

Request.ServerVariables中的各种参数

Request.ServerVariables("Url")

返回服务器地址

Request.ServerVariables("Path_Info")

客户端提供的路径信息

Request.ServerVariables("Appl_Physical_Path")

与应用程序元数据库路径相应的物理路径

Request.ServerVariables("Path_Translated")

通过由虚拟至物理的映射后得到的路径

Request.ServerVariables("Script_Name")

执行脚本的名称

Request.ServerVariables("Query_String")

查询字符串内容

Request.ServerVariables("Http_Referer")

请求的字符串内容

Request.ServerVariables("Server_Port")

接受请求的服务器端口号

Request.ServerVariables("Remote_Addr")

发出请求的远程主机的IP地址

Request.ServerVariables("Remote_Host")

发出请求的远程主机名称

Request.ServerVariables("Local_Addr")

返回接受请求的服务器地址

Request.ServerVariables("Http_Host")

返回服务器地址

Request.ServerVariables("Server_Name")

服务器的主机名、DNS地址或IP地址

Request.ServerVariables("Request_Method")

提出请求的方法比如GET、HEAD、POST等等

Request.ServerVariables("Server_Port_Secure")

如果接受请求的服务器端口为安全端口时,则为1,否则为0

Request.ServerVariables("Server_Protocol")

服务器使用的协议的名称和版本

Request.ServerVariables("Server_Software")

应答请求并运行网关的服务器软件的名称和版本

Request.ServerVariables("All_Http")

客户端发送的所有HTTP标头,前缀HTTP_

Request.ServerVariables("All_Raw")

客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_

Request.ServerVariables("Appl_MD_Path")

应用程序的元数据库路径

Request.ServerVariables("Content_Length")

客户端发出内容的长度

Request.ServerVariables("Https")

如果请求穿过安全通道(SSL),则返回ON如果请求来自非安全通道,则返回OFF

Request.ServerVariables("Instance_ID")

IIS实例的ID号

Request.ServerVariables("Instance_Meta_Path")

响应请求的IIS实例的元数据库路径

Request.ServerVariables("Http_Accept_Encoding")

返回内容如:gzip,deflate

Request.ServerVariables("Http_Accept_Language")

返回内容如:en-us

Request.ServerVariables("Http_Connection")

返回内容:Keep-Alive

Request.ServerVariables("Http_Cookie")

返回内容如:nVisiT%

2DYum=125;ASPSESSIONIDCARTQTRA=FDOBFFABJGOECBBKHKGPFIJI;ASPSESSIONIDCAQQTSRB=LKJJPLABABILLPCOGJGAMKAM;ASPSESSIONIDACRRSSRA=DK

HHHFBBJOJCCONPPHLKGHPB

Request.ServerVariables("Http_User_Agent")

返回内容:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)

Request.ServerVariables("Https_Keysize")

安全套接字层连接关键字的位数,如128

Request.ServerVariables("Https_Secretkeysize")

服务器验证私人关键字的位数如1024

Request.ServerVariables("Https_Server_Issuer")

服务器证书的发行者字段

Request.ServerVariables("Https_Server_Subject")

服务器证书的主题字段

Request.ServerVariables("Auth_Password")

当使用基本验证模式时,客户在密码对话框中输入的密码

Request.ServerVariables("Auth_Type")

是用户访问受保护的脚本时,服务器用於检验用户的验证方法

Request.ServerVariables("Auth_User")

代证的用户名

Request.ServerVariables("Cert_Cookie")

唯一的客户证书ID号

Request.ServerVariables("Cert_Flag")

客户证书标志,如有客户端证书,则bit0为0如果客户端证书验证无效,bit1被设置为1

Request.ServerVariables("Cert_Issuer")

用户证书中的发行者字段

Request.ServerVariables("Cert_Keysize")

安全套接字层连接关键字的位数,如128

Request.ServerVariables("Cert_Secretkeysize")

服务器验证私人关键字的位数如1024

Request.ServerVariables("Cert_Serialnumber")

客户证书的序列号字段

Request.ServerVariables("Cert_Server_Issuer")

服务器证书的发行者字段

Request.ServerVariables("Cert_Server_Subject")

服务器证书的主题字段

Request.ServerVariables("Cert_Subject")

客户端证书的主题字段

Request.ServerVariables("Content_Type")

客户发送的form内容或HTTPPUT的数据类型

4、Cookies

在客户端,Cookies记录了客户端浏览器很多的信息,我们可通过Request.Cookies("名称")命令获取它的值,也可通过Response.Cookies("名称")="值"在客户端记录一些信息,以便控制访问者。设置多重Cookies的方法为Response.Cookies("名称")("名称")="值"。

5、Cache

我们可以在浏览器上设置从Cache中抽取已经访问过的页面的信息,同样,在Asp程序中也可进行类似的设置。其中Response.Clear为清空客户端的内存。Response.Buffer=True设置可从Cache中读取资料(缺省时为False)。

6、ClientCertificate

ClientCertificate用于获取客户端浏览器的身份确认信息(符合X.509标准),但客户端浏览器必须支持SSL3.0或PCT1协议。这里需做两步工作,第一步:web server必须启动用户端认证选项;第二步:对客户端浏览器进行相应设置,这样,该方法才会生效,否则,传回empty值。

只用request(),相当每次取值时都要判断下是不是通过form或querystring来提交的,所以这种比较影响速度,一般最好后面如能确认参数的属性,就确认下来

标签: #asp获取session的值