java怎么获取客户端的请求信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么获取客户端的请求信息相关的知识,希望对你有一定的参考价值。

参考技术A   java获取客服端信息(系统,浏览器等)
  String agent = request.getHeader("user-agent");
System.out.println(agent);
StringTokenizer st = new StringTokenizer(agent,";");
st.nextToken();
String userbrowser = st.nextToken();
System.out.println(userbrowser);
String useros = st.nextToken();
System.out.println(useros);
System.out.println(System.getProperty("os.name")); //win2003竟然是win xp?
System.out.println(System.getProperty("os.version"));
System.out.println(System.getProperty("os.arch"));
System.out.println(request.getHeader("user-agent")); //返回客户端浏览器的版本号、类型
System.out.println(request.getMethod()); //:获得客户端向服务器端传送数据的方法有get、post、put等类型
System.out.println(request.getRequestURI()); //:获得发出请求字符串的客户端地址
System.out.println(request.getServletPath()); //:获得客户端所请求的脚本文件的文件路径
System.out.println(request.getServerName()); //:获得服务器的名字
System.out.println(request.getServerPort()); //:获得服务器的端口号
System.out.println(request.getRemoteAddr()); //:获得客户端的ip地址
System.out.println(request.getRemoteHost()); //:获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址
System.out.println(request.getProtocol()); //:
System.out.println(request.getHeaderNames()); //:返回所有request header的名字,结果集是一个enumeration(枚举)类的实例
System.out.println("Protocol: " + request.getProtocol());
System.out.println("Scheme: " + request.getScheme());
System.out.println("Server Name: " + request.getServerName() );
System.out.println("Server Port: " + request.getServerPort());
System.out.println("Protocol: " + request.getProtocol());
System.out.println("Server Info: " + getServletConfig().getServletContext().getServerInfo());
System.out.println("Remote Addr: " + request.getRemoteAddr());
System.out.println("Remote Host: " + request.getRemoteHost());
System.out.println("Character Encoding: " + request.getCharacterEncoding());
System.out.println("Content Length: " + request.getContentLength());
System.out.println("Content Type: "+ request.getContentType());
System.out.println("Auth Type: " + request.getAuthType());
System.out.println("HTTP Method: " + request.getMethod());
System.out.println("Path Info: " + request.getPathInfo());
System.out.println("Path Trans: " + request.getPathTranslated());
System.out.println("Query String: " + request.getQueryString());
System.out.println("Remote User: " + request.getRemoteUser());
System.out.println("Session Id: " + request.getRequestedSessionId());
System.out.println("Request URI: " + request.getRequestURI());
System.out.println("Servlet Path: " + request.getServletPath());
System.out.println("Accept: " + request.getHeader("Accept"));
System.out.println("Host: " + request.getHeader("Host"));
System.out.println("Referer : " + request.getHeader("Referer"));
System.out.println("Accept-Language : " + request.getHeader("Accept-Language"));
System.out.println("Accept-Encoding : " + request.getHeader("Accept-Encoding"));
System.out.println("User-Agent : " + request.getHeader("User-Agent"));
System.out.println("Connection : " + request.getHeader("Connection"));
System.out.println("Cookie : " + request.getHeader("Cookie"));
  
  获得user-agent的值
  在 ASP.NET 中使用 Request.Header["User-Agent"] 得到浏览器的 User Agent,也可以使用 Request.UserAgent 来获取;
Java 中使用 request.getHeader(”User-Agent”) 来获得;
PHP 中相应使用:$_SERVER[HTTP_USER_AGENT];
  JS中则使用navigator.userAgent来获得(客户端经常使用它来做浏览器兼容)。
  本回答被提问者采纳

java怎么获取win7 64位客户端的Mac地址啊!!

用nbtstat -A命令获取的话其他系统的客户端行,win7的会报错Cannot run program "nbtstat": CreateProcess error=2, ϵͳÕҲ»µ½ָ¶
谢谢大家,help!!!!!

import java.net.InetAddress;
import java.net.NetworkInterface;
public class TestOne
public static void main(String[] arguments) throws Exception
InetAddress ia = InetAddress.getLocalHost();// 获取本地IP对象
System.out.println("MAC ......... " + getMACAddress(ia));

// 获取MAC地址的方法
private static String getMACAddress(InetAddress ia) throws Exception
// 获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。
byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
// 下面代码是把mac地址拼装成String
StringBuffer sb = new StringBuffer();
for (int i = 0; i < mac.length; i++)
if (i != 0)
sb.append("-");

// mac[i] & 0xFF 是为了把byte转化为正整数
String s = Integer.toHexString(mac[i] & 0xFF);
sb.append(s.length() == 1 ? 0 + s : s);

// 把字符串所有小写字母改为大写成为正规的mac地址并返回
return sb.toString().toUpperCase();

参考技术A import java.net.InetAddress;
import java.net.NetworkInterface;
public class TestOne
public static void main(String[] arguments) throws Exception
InetAddress ia = InetAddress.getLocalHost();// 获取本地IP对象
System.out.println("MAC ......... " + getMACAddress(ia));

// 获取MAC地址的方法
private static String getMACAddress(InetAddress ia) throws Exception
// 获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。
byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
// 下面代码是把mac地址拼装成String
StringBuffer sb = new StringBuffer();
for (int i = 0; i < mac.length; i++)
if (i != 0)
sb.append("-");

// mac[i] & 0xFF 是为了把byte转化为正整数
String s = Integer.toHexString(mac[i] & 0xFF);
sb.append(s.length() == 1 ? 0 + s : s);

// 把字符串所有小写字母改为大写成为正规的mac地址并返回
return sb.toString().toUpperCase();

参考技术B 1.打开网络与共享中心
2.里面有个'本地连接',点击后
3.会弹出对话框 里面有一个详细信息 就可以看到物理地址了

以上是关于java怎么获取客户端的请求信息的主要内容,如果未能解决你的问题,请参考以下文章

CAS中客户端怎么获取Server端的session信息

CAS中客户端怎么获取Server端的session信息

java中怎么获取客户端的真实的ip和端口号

java获取客户端ip

js函数中怎么获取request中值的属性

Java面试-如何获取客户端真实IP