网络编程
位置:首页>> 网络编程>> Asp编程>> asp使用ServerVariables集合(3)

asp使用ServerVariables集合(3)

  发布时间:2008-02-27 13:22:00 

标签:ServerVariables,对象,集合,asp

检测浏览器的语言

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集合。

0
投稿

猜你喜欢

  • 今天来讲一下一些实现html中表格隔行换色的方法,即每隔一个行表格的背景色就不同,有静态html/css实现的,也有asp动态实现的。这个功
  •     朋友的网站要计算机票的折扣价格,并且在最后的折扣价格上应对个位进行四舍五入,同时在ASP和Javasc
  • 对所有数据进行整合与管理当你使用SQL Server 2008企业级的数据仓库平台时,你可以高效的操纵所有数据,并对其进行统一管理存储。◆合
  • 1.文档对象模型(DOM)DOM是HTML和XML文档的编程基础,它定义了处理执行文档的途径。编程者可以使用DOM增加文档、定位文档结构、填
  • 浏览网页的时候经常会碰到一些不认识的英文单词,或者想知道一些中文单词的翻译,这时候再去找翻译软件或者翻译网站就有些麻烦了。因此我做了一个“中
  • 当数据库的数据量读写频繁的时候,我们就要考虑把数据库的读写分开,以提高数据库的使用效率,(当然还有其他用处比如,备份数据),这个时候我们就要
  • 又是一年春来到,看各大网站的新年Logo也成为了我们必不可少的新年餐点,为此,我们特别整理了部分网站的新年Logo秀,如果你看到了更加有意思
  • 晚上突然间看到大猫的头像在闪动,速度打开一看,发现他问,以前我写button标签的时候有没有写type属性,老实的我只有诚实地告诉他,我没写
  • 当使用MySQL做站点的时候,肯定会有不知道的错误发生,怎么记录呢?以下是具体解决方法:class.method //建立错误日志 func
  • 我们大家都知道CSS功能的强大,而有关CSS基本的排版控制虽然已有详细的使用说明和参考教程,但还有许多丰富的CSS排版能力,是很少能查到的。
  • 为方便维护和实现开放性,我把调查的好几个主题都放到同一个数据库的同一个表名当中去了但问题是在查询其中一个调查主题时,往往还会显示不相关主题的
  • 如何远程注册DLL?试试下面的代码:<% Response.Buffer = True %&g
  • 以下以 IE 代替 Internet Explorer,以 MF 代替 Mozzila FF1. document.form.item 问题
  • Juan Pablo De Gregorio  的 原文很多人都问我如何为一本杂志、一份报纸、一张海报、一份简报或是一份出版物选择
  • 如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。1. 向mysqld server 发
  • 表中主键必须为标识列,[ID] int IDENTITY (1,1)1.分页方案一:(利用Not In和SELECT TOP分页)语句形式:
  • CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position。1. positio
  • 阅读上一章:Chapter 4 引用互动性一直是互联网的重点,让使用者与网站能够交换信息,彼此沟通.表单使我们能够有组织的,使用同一方式的从
  • 函数getcache,会自动建立需要的缓存。 代码如下:Function getcache(funsname,isreset,is
  •     用QQ聊过天的朋友都对它的自动隐藏窗口功能爱不释手,它可以使窗口显得清爽整洁而且富有动感,笔者的几个朋
手机版 网络编程 asp之家 www.aspxhome.com