利用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对象,我们可以获取到客户端的相关信息。 获取...
`User-Agent`字符串是一个包含了客户端浏览器和操作系统信息的字符串,通常格式为:`BrowserName/BrowserVersion (OperatingSystem)`。为了从中提取出所需的信息,我们可以采用以下步骤: 1. **获取`User-Agent`...
### JSP获取客户端的浏览器和操作系统信息 在Web开发中,了解客户端的浏览器类型和操作系统信息对于优化用户体验、实现特定功能或进行统计分析至关重要。本文将详细介绍如何利用Java Server Pages (JSP)技术来获取...
然后,你可以通过解析这个字符串来提取操作系统信息。请注意,UserAgent信息可能因浏览器的不同而有所差异,因此可能需要针对各种常见的浏览器编写解析逻辑。 获取浏览器类型和版本则同样依赖于UserAgent字符串。...
JavaScript 获取客户端计算机硬件及系统信息 在网络应用中,获取客户端计算机硬件及系统信息是非常有价值的。通过 JavaScript,可以使用 WMI(Windows Management Instrumentation)来实现获取客户端计算机硬件及...
UserAgentUtils-1.20.jar 【用于通过从request请求中的User-Agent中获取客户端浏览器类型、客户端操作系统、客户端ip地址等信息的jar插件】 ,非常好用,导入到项目的lib包中即可使用。 maven引用地址为: <!-- ...
UserAgentUtils-1.24.jar 和 UserAgentUtils-1.2.4-sources.jar 用于通过从request请求中的User-Agent中获取客户端浏览器类型,客户端操作系统。
`$_SERVER['HTTP_USER_AGENT']`变量包含了浏览器发送的User-Agent头,其中包含了浏览器类型、版本、操作系统等信息。通过解析这个字符串,我们可以知道用户正在使用什么浏览器、其版本号,甚至可能是设备类型(如...
UserAgentUtils-1.20.jar 通过request请求的User-Agent获取客户端的浏览器类型、操作系统类型、客户端ip地址等的jar包
### JSP 获取客户端的浏览器和操作系统信息 在Java Web开发中,经常需要获取客户端的一些基本信息,比如浏览器类型、操作系统等,这些信息对于实现特定功能或优化用户体验非常有用。本文将详细介绍如何通过JSP来...
我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取。 .NET 获取客户端的操作系统 请看下面的代码,...
本文将详细介绍如何在ASP.NET中获取客户端的IP地址、操作系统版本和浏览器版本。 ### 获取客户端IP地址 在ASP.NET中,获取客户端IP地址是通过`HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]`来实现...
在 JSP 中,获取客户端的 IP 地址、浏览器版本和操作系统信息是一项重要的任务。下面我们将详细介绍如何获取这些信息。 获取客户端的 IP 地址 在 JSP 中,获取客户端的 IP 地址可以使用 `request.getRemoteAddr()`...
其中,获取客户端的操作系统信息和浏览器类型信息是常见的需求。下面将详细介绍如何通过***技术来获取客户端的这些信息。 首先,通过用户代理字符串(User-Agent)来判断客户端的浏览器类型和操作系统。User-Agent...
总的来说,这个过程展示了如何利用Beef和Metasploit进行渗透测试,以及如何在客户端浏览器中实施中间人攻击。这种技术对于网络安全专业人员来说是非常有价值的,因为它可以帮助他们发现并修复系统中的潜在风险,提高...
在实际应用中,获取客户端MAC地址的情况相对较少,因为这涉及到客户端的隐私问题,且在多层网络架构下很难实现。 浏览器信息则通过分析HTTP请求头中的`User-Agent`字段获取。这个字段包含了浏览器的类型、版本、...
在ASP.NET 2.0与C#环境下,获取客户端浏览器信息、IP地址、访问URL以及操作系统类型是常见的需求,尤其在日志记录、数据分析或安全验证等场景中尤为重要。以下是对给定代码片段中涉及的关键知识点进行的详细解析: ...
在PHP编程中,获取客户端浏览器的名称和版本信息是一项常见的需求,这有助于开发者了解用户访问网站时所使用的浏览器类型,以便进行兼容性测试或优化。本文将深入探讨如何使用PHP来实现这一功能。 首先,PHP提供了`...
由于隐私和安全考虑,现代浏览器和操作系统越来越限制这种能力,因此开发者应谨慎使用这类技术,并寻找替代方案,如基于IP地址的识别或其他身份验证机制。 压缩包中的文件"WebSite1.sln"是Visual Studio的解决方案...
这篇内容将详细介绍如何使用JavaScript获取客户端信息,特别是与显示屏幕相关的信息。 一、显卡的概述 显卡,即视频卡或图形卡,是计算机系统中的关键组成部分,负责处理图形和视频信息,并将其转化为显示器可以...