asp使用ServerVariables集合(3)
时间:2008-02-27 13:22:00
检测浏览器的语言
ServerVariables集合中另外一个有用的值是“HTTP_ACCEPT_LANGUAGE”,它包含了一个当浏览器安装时指定的,或硬编码进用户的地区版本的语言代码。语言代码的例子有en-us(英国、美国)、de-at(德国、澳大利亚)和es-pe(西班牙、秘鲁)。
语言代码可以是一般的且省略方言标识:例如,在我们的站点Wrox者,大批浏览者都是将en(英语)作为语言代码。
因此,可以检测语言代码并自动装载一个合适的特定地区或指定语言版本的页面。
StrLocale = Lcase(Left(Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”),2))
Select Case strLocale
Case “en”: Response.Redirect “http://uk_site.co.uk/”
Case “de”: Response.Redirect “http://de_site.co.de/”
Case “fr”: Response.Redirect “http://fr_site.co.fr/”
‘... etc
Case Else: Response.Redirect “http://us_sitel.com/”
End Select
或者根据特定的方言,重定向页面:
strLocale = Lcase(Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”))
Select Case strLocale
Case “en-gb”: Response.Redirect “http://uk_site.co.uk/”
Case “en-us”: Response.Redirect “http://us_site.com/”
Case “es-pe”: Response.Redirect “http://es_site2.co.pe/”
‘...
Case Else: Response.Redirect “http://us_site1.com/”
End Select
其他有用的ServerVariables集合的值
可以访问和使用ServerVariables集合中的任何一成员,控制ASP页面响应一个请求的方式。可以检查一个浏览者访问站点时使用的是否是缺省端口80或还是另一个。在这个例子里,寻找通过端口443的访问——这个端口提供的是安全套接字层(Secure Socket Layer,SSI)访问(和其他的协议),且将它们重定向到一个相应的页面。
If Request.ServerVariables(“SERVER_PORT”) = “443”) Then
Response.Redirect “/securesite/default.asp” ‘Secure user
Else
Response.Redirect “/normalsite/default.asp” ‘Non-secure user
End If
假如要求浏览者注册且由服务器验证(而不是允许他们在Web服务器的IUSER帐号下匿名访问,这个问题将在后面章节中详细讨论),可以查询用户名称,来判定正在与我们打交道的用户是谁,是否装载页面给该用户。例如,下面的这个代码将只向名为Administrator的用户显示管理链接。
...
<A HREF=”dispcnfg.asp”>Change Display Configuration</A>
<A HREF=”dispcolr.asp”>Change Display Colors</A>
<A HREF=”keyboard.asp”>Change Keyboard Configuration</A>
<%
If Request.ServerVariables(“AUTH_USER”) _
= Ucase(Request.ServerVariables(“SERVER_NAME”)) & “Administrator” Then
%>
<A HREF=”allusers.asp”>Administer All Users</A>
<A HREF=”usrlogon.asp”>Administer Logon Information</A>
<%
End If
%>
...
注意ASP不填写ServerVariables集合直到你访问其中的一个成员。首次访问该集合的一个成员将使IIS得到它的全部,应只在需要时才使用ServerVariables集合。
标签:ServerVariables,对象,集合,asp
0
投稿
猜你喜欢
jquery动态遍历Json对象的属性和值的方法
2024-06-09 00:53:36
互联网产品的用户体验看着“很美”
2009-07-07 12:04:00
Django多进程滚动日志问题解决方案
2023-02-01 16:21:16
Python 中迭代器与生成器实例详解
2023-02-27 14:47:41
Anaconda下安装mysql-python的包实例
2024-01-25 08:04:29
深入理解Python3中的http.client模块
2021-05-26 04:12:34
python基于event实现线程间通信控制
2022-04-30 07:10:51
Python图像滤波处理操作示例【基于ImageFilter类】
2021-10-31 16:47:20
python的常见命令注入威胁
2022-08-14 10:19:21
Postman返回中文乱码的解决方案
2022-03-16 15:03:02
JS前端接口请求参数混淆方案分享
2024-04-18 10:53:17
如何利用python制作时间戳转换工具详解
2021-11-23 21:21:41
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2024-04-16 08:48:57
Python学习之虚拟环境原理详解
2023-02-12 16:45:52
Python实现多线程的两种方式分析
2022-01-06 22:36:10
采用python实现简单QQ单用户机器人的方法
2022-06-26 03:28:40
在vscode中启动conda虚拟环境的思路详解
2022-01-13 02:43:32
什么是好的设计
2010-02-25 12:22:00
推荐几款 Redis 可视化工具(太厉害了)
2024-01-26 11:15:59
SQL参数化查询的另一个理由 命中执行计划
2012-08-21 10:31:16