`
shuai1234
  • 浏览: 963453 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

利用request.getHeader("user-agent")获取客户端浏览器和操作系统信息

    博客分类:
  • java
阅读更多

 

 

Of all the headers sent by the browser, the User-Agent header is probably the most useful because it indicates what kind of browser is making the request. Oddly, both Netscape and Internet Explorer identify themselves as Mozilla, which was the nickname for the early Netscape browser. (There is now a browser called Mozilla, which was born from the code for Netscape 5.)

  In case you're wondering where the name Mozilla came from, Netscape was founded by the folks who wrote the old Mosaic Web browser. Netscape Navigator was intended to be a monstrous version of Mosaic: the Godzilla Mosaic, or Mozilla.

  When Internet Explorer (IE) first came out, it lagged behind Netscape in usage, and gradually added features to become a reasonable alternative by the time IE version 3 came along. By identifying itself as Mozilla-compatible, IE is telling the Web server that it can handle anything Mozilla can.

  If you want to figure out whether the browser is Netscape or IE, only IE sends the MSIE string as part of its User-Agent header. Thus, you can do the following test in your JSP or servlet:

if (request.getHeader("USER-AGENT"). indexOf("MSIE") >= 0)
{
// do Internet Explorer specific stuff here
}
else
{
// do Netscape specific stuff here
}
  You can perform similar tests to detect other browsers, such as Opera.
  研究到这里,其实到底USER-AGENT包含哪些元素,自己还不是太清楚,于是写了下面的代码来查看所有的文件头里都有什么:
  Enumeration temp=request.getHeaderNames();
  while (temp.hasMoreElements()){  
  String paramName = (String) temp.nextElement();
  out.print(paramName+"=");
  out.println(request.getHeader(paramName)+"<br>");
}
  在IE浏览器中得到的是:
Accept=*/*
Accept-Language=zh-cn
Accept-Encoding=gzip, deflate
User-Agent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; Alexa Toolbar)
Host=localhost:8080
Connection=Keep-Alive
Cookie=JSESSIONID=1zxeFTZUY1grAeAi

  在Firefox中得到的是:
Host=localhost:8080
User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
Accept=text/xml,application/xml,application/xhtml+xml,text/html;
q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language=zh-cn,zh;q=0.5
Accept-Encoding=gzip,deflate
Accept-Charset=gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive=300
Connection=keep-alive
Cookie=JSESSIONID=3wYp8TfGUnbgfxAi
Cache-Control=max-age=0

  在Opera中得到的是:
User-Agent=Opera/8.01 (Windows NT 5.1; U; zh-cn)
Host=localhost:8080
Accept=text/html, application/xml;q=0.9,
application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language=zh-cn,en;q=0.9
Accept-Charset=gbk, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1
Accept-Encoding=deflate, gzip, x-gzip, identity, *;q=0
Cookie=JSESSIONID=3JsNHSp6bxg_0KAi
Cookie2=$Version=1
Cache-Control=no-cache
Connection=Keep-Alive, TE
TE=deflate, gzip, chunked, identity, trailers
分享到:
评论

相关推荐

    java request.getHeader("user-agent")获取浏览器信息的方法

    `request.getHeader("user-agent")`是Java Web开发中获取客户端浏览器信息的常用方法。通过解析返回的User-Agent字符串,开发者可以了解到用户的浏览器类型、版本、操作系统等关键信息,从而进行更精确的用户行为...

    JSP获取客户端的浏览器和操作系统信息.pdf

    ### JSP获取客户端的浏览器和操作系统信息 在Web开发中,了解客户端的浏览器类型和操作系统信息对于优化用户体验、实现特定功能或进行统计分析至关重要。本文将详细介绍如何利用Java Server Pages (JSP)技术来获取...

    JSP获取客户端IP地址浏览器版本操作系统.pdf

    我们可以使用`request.getHeader("User-Agent")`方法来获取客户端的浏览器版本和操作系统信息。这个方法返回的字符串中包含了浏览器的名称、版本号和操作系统信息。我们可以使用字符串分割方法来提取出浏览器的名称...

    JSP获取客户端的浏览器和操作系统信息

    例如,`request.getHeader("User-Agent")`可以获取到客户端发送的`User-Agent`字符串,其中包含了浏览器名称、版本以及操作系统等信息。 #### 二、解析`User-Agent`字符串 `User-Agent`字符串是一个包含了客户端...

    JSP获取客户端IP地址-浏览器版本-操作系统[参考].pdf

    在 JSP 中,获取客户端的 IP 地址、浏览器版本和操作系统信息是一项重要的任务。下面我们将详细介绍如何获取这些信息。 获取客户端的 IP 地址 在 JSP 中,获取客户端的 IP 地址可以使用 `request.getRemoteAddr()`...

    JSP获取HTTP header信息(request)例子

    - `request.getHeader("User-Agent")`: 获取客户端浏览器信息。 - `request.getHeader("Connection")`: 获取客户端希望使用的连接类型。 - `request.getHeader("Cookie")`: 获取客户端发送的Cookie。 #### 四、...

    WURFL - J2EE获取客户端移动设备信息

    WURFL的核心功能是解析和理解来自移动设备的User-Agent字符串,这是一个包含设备制造商、型号、操作系统、浏览器等信息的HTTP头部字段。通过解析User-Agent,WURFL能够提供关于设备的详细特性,如屏幕分辨率、是否...

    Java获取客户端信息代码

    在IT领域,特别是Web开发中,获取客户端信息是至关重要的环节,它可以帮助开发者了解用户使用的设备、浏览器类型、操作系统以及网络环境,进而优化网站或应用的兼容性和用户体验。以下是从给定文件信息中提炼出的...

    UserAgent返回浏览器版本和操作系统版本工具类

    描述中提到的"通过request.getHeader("User-Agent")信息返回用户浏览器版本和使用操作系统版本",是Java Web应用中常见的做法。在Servlet或者Filter中,我们可以从`HttpServletRequest`对象的`getHeader()`方法中...

    jsp 获取客户端的浏览器和操作系统信息

    除了通过`User-Agent`获取操作系统信息外,还可以利用`System.getProperty()`方法来获取与当前运行环境相关的属性,如操作系统名称、版本和架构等: ```java String osName = System.getProperty("os.name"); // ...

    Java获取客户端代码大全

    通过`request.getHeader("user-agent")`可以获取到用户的浏览器信息。例如: ```java String agent = request.getHeader("user-agent"); System.out.println(agent); ``` 此行代码用于获取用户代理字符串,它包含...

    解析ip,用户给一个请求,获取用户的ip,浏览器,操作系统等信息

    总的来说,当用户通过HTTP请求访问JSP或Servlet应用时,我们可以从请求对象中获取IP地址,解析IP获取主机名,并通过`User-Agent`头获取浏览器和操作系统的详细信息。这些信息对于提供个性化的用户体验、统计分析或...

    UserAgentUtils-1.20

    首先,User-Agent字符串是Web服务器从HTTP请求头中获取的,包含了客户端浏览器的详细信息,如浏览器类型、版本、操作系统和设备类型等。UserAgentUtils库通过解析这个字符串,为开发者提供了简洁的API来获取这些信息...

    判断用户是否使用手机浏览器

    这里,我们使用`request.getHeader("User-Agent")`获取User-Agent,然后将其转换为小写并检查是否包含"mobile"。 总的来说,这些方法都是基于User-Agent来判断用户设备,但需要注意的是,这种方法并不完全可靠,...

    jsp编程中的小技巧(仅供参考)

    - **User-Agent**: 描述了客户端的信息,如浏览器名称、版本等。 - **Host**: 请求的主机和端口号。 - **Content-Length**: 请求体的长度。 - **Connection**: 指明连接的状态,如`keep-alive`表示保持连接。 - **...

    UserAgentUtils-1.13.jar

    - **解析User-Agent**:库提供了一系列方法,如`getBrowser()`、`getOperatingSystem()`,可以轻松获取浏览器类型、版本和操作系统信息。 - **设备分类**:针对智能手机、平板、桌面电脑等设备,UserAgentUtils...

    java获取客服端信息的方法(系统,浏览器等)

    - `request.getHeader("user-agent")` 用于获取客户端发送的HTTP请求头中的`User-Agent`字段,这个字段包含了客户端浏览器的类型、版本、操作系统等信息。例如,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Apple...

    获取当前浏览器的类型及乱码问题

    `User-Agent`是一个字符串,它包含了客户端浏览器的名称、版本以及其他操作系统的信息。例如: ```java String explore = request.getHeader("User-Agent").toLowerCase(); ``` 接下来,可以通过检查`User-Agent`...

    案例111

    其次,用户代理(User-Agent)头包含了关于客户端的详细信息,如浏览器类型、版本、操作系统等。在Java Servlet中,同样可以通过`HttpServletRequest`对象的`getHeader(String name)`方法来获取这个头的值,传入...

    Java servlet判断是否是移动设备

    `User-Agent`包含了浏览器发送请求时的设备信息,包括浏览器类型、版本以及操作系统等。例如,移动设备的`User-Agent`通常会包含"Mobile"、"Android"、"iPhone"等关键字。 以下是一个简单的Java Servlet代码片段,...

Global site tag (gtag.js) - Google Analytics