java如何获取当前时间,java如何获取ip地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何获取当前时间,java如何获取ip地址相关的知识,希望对你有一定的参考价值。

public static void main(String[] args) 

try 

System.out.println("当前时间:"+new Date());

System.out.println("IP地址 : " + InetAddress.getLocalHost());

 catch (UnknownHostException e) 

e.printStackTrace();

参考技术A

获取当前时间

public static void main(String[] args) throws IOException 
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(new Date()));

获取ip地址

public static void main(String[] args) throws IOException 
InetAddress netAddress = InetAddress.getLocalHost();
System.out.println("ip地址: " + netAddress.getHostAddress());
System.out.println("主机名: " + netAddress.getHostName());

其实使用InetAddress.getLocalHost()获取ip存在问题,因为有的电脑有多个网卡,也就有多个ip地址,正确的方法应该是这样

public static void main(String[] args) throws IOException 
List<String> result = new ArrayList<String>();
Enumeration<NetworkInterface> netInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip;
while (netInterfaces.hasMoreElements()) 
NetworkInterface ni = netInterfaces.nextElement();
Enumeration<InetAddress> addresses = ni.getInetAddresses();
while (addresses.hasMoreElements()) 
ip = addresses.nextElement();
if (!ip.isLoopbackAddress() && ip.getHostAddress().indexOf(':') == -1) 
result.add(ip.getHostAddress());



for (String string : result) 
System.out.println(string);

使用jdk提供的api NetworkInterface,可以将主机的所有网卡的ip地址全部获取,比如无线网卡、有线网卡、蓝牙等等

java 获取客户端ip地址

程序中的操作日志,需要显示用户操作的IP地址,试着写了一个,获取的是本机地址,只要访问服务器,都是记录服务器的IP地址,现在想要获取的是客户端的IP地址,谁能给提供一个实例,在线等

如果能过http 请求,那获得真实的ip的方法是使用request.getRemoteAddr(),
若客户端使用了代理 ,请参考:http://sonicmq.javaeye.com/blog/416565

如果是C/S的程序
客户端调用InetAddress.getLocalHost()得到的是客户端的内网ip
参考技术A request.getRemoteAddr();返回发送请求的客户端或最后一个代理的IP地址

以上是关于java如何获取当前时间,java如何获取ip地址的主要内容,如果未能解决你的问题,请参考以下文章

java如何获取当前登录ip

java中,如何获取真实的IP地址?

java获得IP地址

java如何获取本机IP?

java获取局域网ip地址 具体代码

java 怎么获取本机ip地址