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 IOExceptionSimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(new Date()));
获取ip地址
InetAddress netAddress = InetAddress.getLocalHost();
System.out.println("ip地址: " + netAddress.getHostAddress());
System.out.println("主机名: " + netAddress.getHostName());
其实使用InetAddress.getLocalHost()获取ip存在问题,因为有的电脑有多个网卡,也就有多个ip地址,正确的方法应该是这样
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地址的主要内容,如果未能解决你的问题,请参考以下文章