利用request.getHeader("user-agent")获取客户端浏览器和操作系统信息
String Agent = request.getHeader("User-Agent");
StringTokenizer st = new StringTokenizer(Agent,";");
st.nextToken();
//得到用户的浏览器名
String userbrowser = st.nextToken();
//得到用户的操作系统名
String useros = st.nextToken();
取得本机的信息也可以这样:
操作系统信息
System.getProperty("os.name"); //win2003竟然是win XP?
System.getProperty("os.version");
System.getProperty("os.arch");
瀏覽器:
request.getHeader("User-Agent")
request.getHeader(“User-agent”)返回客户端浏览器的版本号、类型
getHeader(String name):获得http协议定义的传送文件头信息,
request. getMethod():获得客户端向服务器端传送数据的方法有GET、POST、PUT等类型
request. getRequestURI():获得发出请求字符串的客户端地址
request. getServletPath():获得客户端所请求的脚本文件的文件路径
request. getServerName():获得服务器的名字
request.getServerPort():获得服务器的端口号
request.getRemoteAddr():获得客户端的IP地址
request.getRemoteHost():获得客户端电脑的名字,若失败,则返回客户端电脑的IP地址
request.getProtocol():
request.getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例
request.getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例
获取IP
package com.slei.ip;
import javax.servlet.http.HttpServletRequest;
public class TestIP {
public TestIP() {
}
public String getIpAddrOne(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0) {
ip = request.getRemoteAddr();
}
return ip;
}
public String getIpAddrTwo(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
}
<%@ page contentType="text/html; charset=GBK" %>
<%@page import="java.util.*"%>
<html>
<head>
<title>
get_ip
</title>
</head>
<body bgcolor="#ffffff">
<jsp:useBean id="iptest" scope="page" class="com.slei.ip.TestIP"></jsp:useBean>
<h1 align="center">
YOU ADDRESS IS:<%out.print(iptest.getIpAddrOne(request));%><br/>
YOU ADDRESS IS:<%out.print(iptest.getIpAddrTwo(request));%>
</h1>
<table border=0 align=center cellpadding=0 cellspacing=1 bgcolor="#CCCCCC">
<tr>
<td bgcolor="#FFFFFF">Name</td>
<td bgcolor="#FFFFFF">Value</td>
</tr>
<%
Enumeration enumNames;
String strName,strValue;
enumNames = request.getHeaderNames();
while(enumNames.hasMoreElements()){
strName = (String)enumNames.nextElement();
strValue = request.getHeader(strName);
%>
<tr>
<td bgcolor="#FFFFFF"><%=strName%></td>
<td bgcolor="#FFFFFF"><%=strValue%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
分享到:
相关推荐
获取客户端IP地址、浏览器版本和操作系统信息在JSP中的实现方法 在JSP中,获取客户端的IP地址、浏览器版本和操作系统信息是非常重要的。通过使用HttpServletRequest对象,我们可以获取到客户端的相关信息。 获取...
JSP获取客户端的浏览器和操作系统信息.pdf
一些JSP中的用到的代码,主要用于获取客户端的浏览器信息和操作系统的一些简要信息。
ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息
UserAgentUtils-1.20.jar 【用于通过从request请求中的User-Agent中获取客户端浏览器类型、客户端操作系统、客户端ip地址等信息的jar插件】 ,非常好用,导入到项目的lib包中即可使用。 maven引用地址为: <!-- ...
UserAgentUtils-1.24.jar 和 UserAgentUtils-1.2.4-sources.jar 用于通过从request请求中的User-Agent中获取客户端浏览器类型,客户端操作系统。
我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取。 .NET 获取客户端的操作系统 请看下面的代码,...
UserAgentUtils-1.20.jar 通过request请求的User-Agent获取客户端的浏览器类型、操作系统类型、客户端ip地址等的jar包
分享一个php获取客户端的ip、地理信息、浏览器信息等内容的类。需要的朋友可自行下载参考。
在 JSP 中,获取客户端的 IP 地址、浏览器版本和操作系统信息是一项重要的任务。下面我们将详细介绍如何获取这些信息。 获取客户端的 IP 地址 在 JSP 中,获取客户端的 IP 地址可以使用 `request.getRemoteAddr()`...
j2ee 面试常遇见的问题,收集了一下,可以参考
移动互联网时代,手机站是必须的,以下是本人整理的php获取手机浏览器的信息函数,希望对您开发手机站有所帮助,此收藏的手机信息函数类有取手机号码,浏览器报头信息,取得手机类型,取得手机IP等功能
用户信息在PHP中获取客户端信息(客户端的IP地址,操作系统,浏览器名称,设备类型)初始化include ( 'UserInfo.php' );//Or Use Require functionrequire ( 'UserInfo.php' );方法 get_ip() 如果要获取客户端IP地址...
主要介绍了C#编程获取客户端计算机硬件及系统信息功能,可实现针对客户端系统CPU、硬盘、主板等硬件信息及客户端操作系统、IP、MAC等信息的操作技巧,需要的朋友可以参考下
跟踪一些最基本的客户端访问信息,这里将一些公用的代码总结下来,需要的朋友可以参考下
下午去了趟用户现场,感觉此问题确实比较蹊跷,最后发现出问题的电脑是WIN 2000的... 关键部分: window.navigator.userAgent :用户浏览器、操作系统等信息,对应HTML请求文件头User-Agent部分。 代码部分: <scri
相反,我发现需要有关浏览器和操作系统使用情况的统计信息,以及向客户端报告他们可能并不总是很容易知道的某些信息(取决于用户)的目的。 浏览器检测已经过测试: IE 2 - 11 Chrome 19 - 41 火狐:0.10 - ...