Java通信——获取自己IP】的更多相关文章

获取自己的IP地址 import java.net.InetAddress; import java.net.UnknownHostException; public class getip { public static void main(String[] args) throws UnknownHostException { /** * ip地址对象. InetAddress * @throws UnknownHostException * */ //获取本地主机地址对象 InetAddr…
在写服务端代码时,有时需要对客户端ip做认证,比如限制只有某些ip能访问,或者1个ip1天只能访问几次.最近就碰到个需要限制ip的情况,从网上找了一些服务器获取客户端ip的方法,说的都不太完善,这里整理一下. 获取客户端ip其实就是从request中取,从header取或者直接request.getRemoteAddr(). public static String getRemoteIpAddr() { HttpServletRequest request = getRequest(); St…
发现在高请求量的时候获取hostName慢,后发现getHostName方法慢导致的:需要获取hostName为获取ip的方式了:java 中 InetSocketAddress // remoteAddress.getHostName() //获取hostName时耗时长,改方法要慎用:(先从本地取,如果本地没取到从远程dns中取) remoteAddress.getAddress().getHostAddress() : //改用这种方式获取ip…
在开发工作中,我们常常需要获取客户端的IP.一般获取客户端的IP地址的方法是:request.getRemoteAddr();但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了. 原因:由于在客户端和服务之间增加了中间代理,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端. 现在图示代理上网和IP的关系: 第一种情况:不通过代理上网,服务器端拿到真实IP 第二种情况:通过代理服务器如:Nginx,Squid等一层代理或多层…
/* * 随机生成国内IP地址 */ public static String getRandomIp(){ //ip范围 int[][] range = {{607649792,608174079},//36.56.0.0-36.63.255.255 {1038614528,1039007743},//61.232.0.0-61.237.255.255 {1783627776,1784676351},//106.80.0.0-106.95.255.255 {2035023872,2035154…
Java代码获取电脑IP.MAC.各种版本 package com.rapoo.middle.action; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.ArrayList; import java…
1.java代码 /** 获取客户端IP */ public static final String getClientIp(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)|| "127.0.0.1".equals…
he你早的时候写了一个根据访问者ip查询天气的小接口,那时候还没得买域名,没有搞nginx,测试自然没有问题,然后随着一个小工具一块上线了,今天突然发现我的小工具有好几个人在使用了,就想写一个记录访问者ip和请求次数的东西,经过一番折腾代码写完了,上了环境,可是我自己访问的时候拿到的确是我主机的ip,尴尬,突然就想起之前写的天气那个接口GG了,果不其然,获取的同样是我自己主机的ip,这才想到会不会是nginx搞的鬼,然后请教了大佬,果然是:以下是修改方法 nginx反向代理后,在应用中取得的ip…
/** * 获取客户端ip地址(可以穿透代理) * * @param request * @return */ public static String getRemoteAddr(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase…
public static void main(String[] args) { try { InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 System.out.println(address);//PC-20140317PXKX/192.168.0.121 System.out.println(address.getHostAddress());//192.168.0.121 System.out.println(…