• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

获取客户端IP、浏览器和操作系统信息的几种方法

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 43次 | 进入软件测试论坛讨论

领测软件测试网 <p align=center>获取客户端浏览器和操作系统信息的几种方法</p>

<Script language=Vbscript>

@#=首先---穷举法:用VBS中的Navigator.appVersion(或者.UserAgent)属性=
@#=此种方法可以在客户端显示,但是不可以保存到服务器端数据库里=

Document.write Navigator.appVersion&"<p>"

Function Browser(Info)
Info=Navigator.appVersion @#在这里初始化了Info,在实际应用中可以作为其他变量赋值
If InStr(Info,"MSIE 6")>0 Then
Browser="Inte.net Explorer 6.0"
ElseIf InStr(Info,"MSIE 5.5")>0 Then
Browser="Internet Explorer 5.5"
ElseIf InStr(Info,"MSIE 5.0")>0 Then
Browser="Internet Explorer 5.0"
ElseIf InStr(Info,"MSIE 4")>0 Then
Browser="Internet Explorer 4.0"
Else
Browser="未知的浏览器!"
End if
Document.Write "您的浏览器是:"&Browser&"<p>"
End Function

Function System(Info)
Info=Navigator.appVersion
If InStr(Info,"NT 5.1")>0 Then
System="Windows XP"
ElseIf InStr(Info,"NT 5.0")>0 Then
System="Windows 2000"
ElseIf InStr(Info,"NT 4")>0 Then
System="Windows NT"
ElseIf InStr(Info,"98")>0 Then
System="Windows 98"
ElseIf InStr(Info,"Me")>0 Then
System="Windows Me"
ElseIf InStr(Info,"95")>0 Then
System="Windows 95"
Else
System="未知的操作系统!"
End if
Document.Write "您的操作系统是:"&System&"<p>"
End Function

Call Browser(Info)
Call System(Info)

</Script>

------------------------------------------------------------<p>


<%
@#=其次:用Request.ServerVariables("Http_User_Agent")=

Response.Write Request.ServerVariables("Http_User_Agent")&"<p>"

Function Browser(Info)
Info=Request.ServerVariables("Http_User_Agent") @#在这里初始化了Info,在实际应用中可以作为其他变量赋值
If InStr(Info,"MSIE 6")>0 Then
Browser="Internet Explorer 6.0"
ElseIf InStr(Info,"MSIE 5.5")>0 Then
Browser="Internet Explorer 5.5"
ElseIf InStr(Info,"MSIE 5.0")>0 Then
Browser="Internet Explorer 5.0"
ElseIf InStr(Info,"MSIE 4")>0 Then
Browser="Internet Explorer 4.0"
Else
Browser="未知的浏览器!"
End if
Response.Write "您的浏览器是:"&Browser&"<p>"
End Function

Function System(Info)
Info=Request.ServerVariables("Http_User_Agent")
If InStr(Info,"NT 5.1")>0 Then
System="Windows XP"
ElseIf InStr(Info,"NT 5.0")>0 Then
System="Windows 2000"
ElseIf InStr(Info,"NT 4")>0 Then
System="Windows NT"
ElseIf InStr(Info,"98")>0 Then
System="Windows 98"
ElseIf InStr(Info,"Me")>0 Then
System="Windows Me"
ElseIf InStr(Info,"95")>0 Then
System="Windows 95"
Else
System="未知的操作系统!"
End if
Response.Write "您的操作系统是:"&System&"<p>"
End Function

Call Browser(Info)
Call System(Info)

%>

===========================================================<p>

<%
@#第三种方法:在appVersion/UserAgent或Request.ServerVariables("Http_User_Agent")
@#=之中截取固定的字符串,把有关浏览器和操作系统的字符串截取出并显示=
@#=显然问题在于,如果某一天Microsoft把浏览器版本的格式改变了,那么此方法会出错
@#=格式:浏览器版本-左数第31个字符起3个字符,系统版本-左数第44个字符起6个字符

Response.Write Request.ServerVariables("Http_User_Agent")&"<p>"

Function Browser2(Info)
Info=Request.ServerVariables("Http_User_Agent")
If InStr(Info,"MSIE")>0 Then @#判断当前浏览器是否是"Microsoft IE"类型
Version=Mid(Info,31,3)
IE="Internet Explorer"
Response.Write "您的浏览器是:"&IE&" "&Version&"<p>"
Else
Response.Write "您的浏览器是:未知的浏览器"
End if
End Function

Function System2(Info)
Info=Request.ServerVariables("Http_User_Agent")
If InStr(Info,"Windows")>0 Then @#判断当前操作系统是否是"Windows"平台
Version=Mid(Info,44,6)
Plat="Windows"
@#下面还要进行判断版本,以供显示具体的平台
If InStr(Version,"NT 5.1")>0 Then
Plat="Windows XP"
ElseIf InStr(Version,"NT 5.0")>0 Then
Plat="Windows 2000"
ElseIf InStr(Version,"NT 4")>0 Then
Plat="Windows NT"
ElseIf InStr(Version,"98")>0 Then
Plat="Windows 98"
ElseIf InStr(Version,"Me")>0 Then
Plat="Windows Me"
ElseIf InStr(Version,"95")>0 Then
Plat="Windows 95"
Else
Plat="未知的操作系统!"
End if
Response.Write "您的操作系统是:"&Plat&"<p>"
Else
Response.Write "您的操作系统是:未知的操作系统"
End if
End Function

Call Browser2(Info)
Call System2(Info)

%>

----------------------------------------------------------<p>

<Script Language=VBscript>

Document.Write Navigator.appVersion&"<p>"

Function Browser2(Info)
Info=Navigator.appVersion
If InStr(Info,"MSIE")>0 Then @#判断当前浏览器是否是"Microsoft IE"类型
Version=Mid(Info,23,3)
IE="Internet Explorer"
Document.Write "您的浏览器是:"&IE&" "&Version&"<p>"
Else
Document.Write "您的浏览器是:未知的浏览器"
End if
End Function

Function System2(Info)
Info=Navigator.appVersion
If InStr(Info,"Windows")>0 Then @#判断当前操作系统是否是"Windows"平台
Version=Mid(Info,36,6)
Plat="Windows"
@#下面还要进行判断版本,以供显示具体的平台
If InStr(Version,"NT 5.1")>0 Then
Plat="Windows XP"
ElseIf InStr(Version,"NT 5.0")>0 Then
Plat="Windows 2000"
ElseIf InStr(Version,"NT 4")>0 Then
Plat="Windows NT"
ElseIf InStr(Version,"98")>0 Then
Plat="Windows 98"
ElseIf InStr(Version,"Me")>0 Then
Plat="Windows Me"
ElseIf InStr(Version,"95")>0 Then
Plat="Windows 95"
Else
Plat="未知的操作系统!"
End if
Document.Write "您的操作系统是:"&Plat&"<p>"
Else
Document.Write "您的操作系统是:未知的操作系统"
End if
End Function

Call Browser2(Info)
Call System2(Info)

</Script>

=============================================<p>

<%
@#========另外,有人提出利用ASP的ActiveX组件MSWC.BrowserType的属性来实现==========
@#========现在问题是,IE 6.0以上版本的这个组件还没有更新,因此随意使用会出错=====
@#========我们不提倡这种方法=====================================================
Dim BT
Set BT=Server.CreateObject("MSWC.BrowserType")
Response.Write BT.Browser&"<br>"
Response.Write BT.Version&"<br>"
Response.Write BT.PlatForm&"<br>"
%>

<p align=center>获得客户端IP的方法</p>

<%
@#此参数是取得透过代理服务器的客户端IP
IP=Request.ServerVariables("Http_X_ForWarded_For")
If Len(IP)=0 Then
Response.write "非代理服务器:空<p>"
@#直接取得客户端的IP
IP=Request.ServerVariables("Remote_Addr")
Response.write "代理服务器:"&IP
Else
Response.write "非代理服务器:"&IP&"<p>"
End If

%>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网