欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java 获取,

来源: javaer 分享于  点击 4526 次 点评:245

Java 获取,


1、获取ip :使用request.getHeader("x-forwarded-for")获取真实IP,x-forwarded-for的值并不止一个,而是一串IP值,获取为空时,使用request.getRemoteAddr()、getHeader("Proxy-Client-IP")、getHeader("WL-Proxy-Client-IP")方法进行获取

1:@ResponseBody
@RequestMapping(value="/getipone", produces="application/json")
public String getRemortIP(HttpServletRequest request) {  
	if (request.getHeader("x-forwarded-for") == null) {  
		System.out.println("request.getRemoteAddr();" + request.getRemoteAddr());
		return request.getRemoteAddr();  
	}  
	System.out.println("request.getHeader(x-forwarded-for):" + request.getHeader("x-forwarded-for"));
	return request.getHeader("x-forwarded-for");  
}

2:@ResponseBody
@RequestMapping(value="/getiptwo", produces="application/json")
public String getRemortIP(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();  
	}  
	System.out.println("ip-------" + ip);
	return ip;
}

2、通过ping命令判断是否离线 ,使用run.exec()进行ping命令连接某个网站,根据返回的结果进行判读是否已经离线

/** 
 * 通过ping命令判断是否离线 
 * @return 
 */  
public static boolean offLine() {  
	Runtime run = Runtime.getRuntime();  
	try {  
		Process process = run.exec("ping www.hao123.com");  
		InputStream s = process.getInputStream();  
		BufferedReader bis = new BufferedReader(new InputStreamReader(s));  
		String str = bis.readLine();  
		while (str != null) {  
			if (str.startsWith("Reply from")) {  
				return false;  
			}  
			str = bis.readLine();  
		}  
		process.waitFor();  
	} catch (IOException ex) {  
		Logger.getLogger(SyncTime.class.getName()).log(Level.SEVERE, null, ex);  
	} catch (InterruptedException ex) {  
		Logger.getLogger(SyncTime.class.getName()).log(Level.SEVERE, null, ex);  
	}  
	return true;  
}

3、获取sessionId

String sessionId=request.getSession().getId();
System.out.println("sessionId = " + sessionId);

4、获取服务器系统时间

String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
System.out.println("date = " + date);

5、获取当前链接地址

String requestUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + request.getServletPath();
System.out.println("当前链接地址:" + requestUrl);

6、获取前一页链接地址

System.out.println("前一页链接地址:" + request.getRequestURI());

7、省份城市、城市ip

jsp:
//js使用搜狐接口获取当前城市ip、城市名称,传输到java中
$(function () {
	if (navigator.onLine) {
		$.getScript('http://pv.sohu.com/cityjson', function (_result) {//搜狐接口
			if (returnCitySN.cip != '') {
				cityip = returnCitySN.cip;
				cityName = returnCitySN.cname;
				$.post("${ctx}/LoginServer/sessioncity.do", {cityip:cityip,cityName:cityName}, function () {});
			} else {
				console.log("网络出错,无法定位到当前城市")
			}
		});
	} else {
		console.log("暂无网络服务");
	}
})

java:
/**
 * session设置城市ip和城市省份
 * @param cityip 城市ip
 * @param cityName 城市省份
 * @param request 无返回
 */
@ResponseBody
@RequestMapping(value="/sessioncity", produces="application/json")
public void city(String cityip, String cityName, HttpServletRequest request) {
	HttpSession session = request.getSession();
	session.setAttribute("cityip", cityip);
	session.setAttribute("cityName", cityName);
}

HttpSession session = request.getSession();
System.out.println("省份城市:" + session.getAttribute("cityName"));
System.out.println("城市ip:" + session.getAttribute("cityip"));

8、获取浏览器信息

System.out.println("获取浏览器信息:" + request.getHeader("User-Agent"));

9、操作系统名称

//获取系统属性值
Properties props=System.getProperties();
//操作系统名称
String osName = props.getProperty("os.name");
System.out.println("操作系统名称:" + osName);

 

相关文章

    暂无相关文章
相关栏目:

用户点评