ip获取工具类
来源:互联网 发布:110公安网络报警平台 编辑:程序博客网 时间:2024/06/05 06:22
package com.dyt.apv.common.utils;
import java.net.Inet4Address;
import java.net.InterfaceAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
/**
* 获取本机IP工具类
*
* Copyright: Copyright (c)2016
* Company: hxyd
* @author: hetiao
* @version: 1.0
* Create at: 2016年2月1日下午9:23:04
* @tags
*/
public class NetworkUtils {
public static List<String> getLocalIp(){
List<String> ipList = new ArrayList<String>();
try{
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface ni = interfaces.nextElement();
for (InterfaceAddress address : ni.getInterfaceAddresses()) {
if (address.getAddress() instanceof Inet4Address) {
Inet4Address inet4Address = (Inet4Address) address.getAddress();
ipList.add(inet4Address.getHostAddress());
}
}
}
}catch(Exception e){
e.printStackTrace();
}
return ipList;
}
/**
*
* 功能描述:获取真实的IP地址
* @param request
* @return
* @author guoyx
*/
public static String getIpAddr(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();
}
if (!StringUtils.isBlank(ip) && ip.contains(","))
{
String[] ips = ip.split(",");
ip = ips[ips.length - 1];
}
ip = ip.replace(" ","");
//转换IP 格式
//if(!StringUtils.isBlank(ip)){
//ip=ip.replace(".", "_");
//}
return ip;
}
}
import java.net.Inet4Address;
import java.net.InterfaceAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
/**
* 获取本机IP工具类
*
* Copyright: Copyright (c)2016
* Company: hxyd
* @author: hetiao
* @version: 1.0
* Create at: 2016年2月1日下午9:23:04
* @tags
*/
public class NetworkUtils {
public static List<String> getLocalIp(){
List<String> ipList = new ArrayList<String>();
try{
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface ni = interfaces.nextElement();
for (InterfaceAddress address : ni.getInterfaceAddresses()) {
if (address.getAddress() instanceof Inet4Address) {
Inet4Address inet4Address = (Inet4Address) address.getAddress();
ipList.add(inet4Address.getHostAddress());
}
}
}
}catch(Exception e){
e.printStackTrace();
}
return ipList;
}
/**
*
* 功能描述:获取真实的IP地址
* @param request
* @return
* @author guoyx
*/
public static String getIpAddr(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();
}
if (!StringUtils.isBlank(ip) && ip.contains(","))
{
String[] ips = ip.split(",");
ip = ips[ips.length - 1];
}
ip = ip.replace(" ","");
//转换IP 格式
//if(!StringUtils.isBlank(ip)){
//ip=ip.replace(".", "_");
//}
return ip;
}
}
阅读全文
0 0
- ip获取工具类
- 获取Ip的工具类
- 获取IP工具类IPGetUtil
- 获取机器IP工具类
- 获取ip的工具类
- 获取真实IP的工具类
- 获取手机ip地址工具类
- 获取IP地址的一个工具类
- 获取请求ip的工具类
- 获取IP和Mac工具类
- 获取客户端ip地址工具类
- 获取ip地址工具
- 获取客户端IP和本地IP的工具类
- 分享一个获取手机IP地址的工具类,
- 获取客户端IP和MAC地址工具类
- IPUtil工具类,java 获取IP所属地
- java 获取本机ip地址工具类
- android获取本地的ip地址工具类
- Logistic回归(梯度上升)
- 正则表达式示例
- 关于一些隐写术
- 信息学奥赛一本通(C++版) 第一部分 C++语言 第五章 数 组
- python:11:函数
- ip获取工具类
- MyEclipse 搭建SpringMVC + Hibernate + Spring框架整合
- mysql登录账号出错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
- android app broadcast组件-02-基础例子
- cocos2d-js总结
- (转)投资失败、女友离开、身无分文,私募大佬的牛逼都是熬出来的
- Ubuntu16.04下使用python3,pycharm 安装django
- Android dex分包方案
- 使用metaclass验证子类