java获取IP地址的方法

发布时间:2020-06-10 11:54:31

来源:亿速云

阅读:184

作者:Leah

这篇文章运用了实例代码展示java获取IP地址的方法,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。/**

* 通过HttpServletRequest返回IP地址

*

* @param request HttpServletRequest

* @return ip String

* @throws Exception

*/

private 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.getHeader("HTTP_CLIENT_IP");

}

if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

ip = request.getHeader("HTTP_X_FORWARDED_FOR");

}

if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

ip = request.getRemoteAddr();

if (LOCAL_IP.equals(ip) || LOCAL_IP1.equals(ip)) {

InetAddress inet = null;

try {

inet = InetAddress.getLocalHost();

ip = inet.getHostAddress();

} catch (UnknownHostException e) {

e.printStackTrace();

}

}

}

return ip;

}

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。

常用方法:

getRequestURL方法返回客户端发出请求时的完整URL。

getRequestURI方法返回请求行中的资源名部分。

getQueryString 方法返回请求行中的参数部分。

getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。

getRemoteAddr方法返回发出请求的客户机的IP地址。

getRemoteHost方法返回发出请求的客户机的完整主机名。

getRemotePort方法返回客户机所使用的网络端口号。

getLocalAddr方法返回WEB服务器的IP地址。

getLocalName方法返回WEB服务器的主机名。

看完上述内容,你们掌握java获取IP地址的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

java获取ip地址 方法_java获取IP地址的方法相关推荐

  1. java ip地址接口_java获取ip地址与网络接口的方法示例

    java.net包 大家应该都知道,网络相关对象在java.net包中,Java net包下的类如下: 1.获取主机对象InetAddress //获取本地主机对象 InetAddress host ...

  2. java转换ip地址格式转换_Java编程IP地址和数字相互转换代码示例

    最近才知道,将ip地址转换成十进制.八进制.十六进制同样可以访问网站. IP转为数字(第二种算法.用左移.按位或实现.效率更高.): public long ipToLong(String ipAdd ...

  3. java获取当前日期 星期几_java获取当前日期是星期几的方法

    java获取当前日期是星期几的方法 发布时间:2020-06-29 11:16:15 来源:亿速云 阅读:133 作者:Leah 本篇文章为大家展示了java获取当前日期是星期几的方法,代码简明扼要并 ...

  4. java获取随机数方法_JAVA获取随机数

    原文链接: http://blog.csdn.net/herrapfel/article/details/1885016 在Java中我们可以使用java.util.Random类来产生一个随机数发生 ...

  5. java取字符串首字母_java 获取中文字符的首字母

    原理: GB2312编码中的中文是按照拼音排序的 注意: 一些生僻的字无法获得正确的首字母,原因是这些字都是后加入的. import java.io.UnsupportedEncodingExcept ...

  6. java实现ip能访问_Java过滤ip,只允许配置的ip能够被访问

    Java过滤ip,只允许配置的ip能够被访问 第一先创建过滤类 实现Filter就会有init(),doFilter(),destroy()三个方法 private String ips; publi ...

  7. java 取当天0点_java 获取当天(今日)零点零分零秒

    两种方法 一种得到的是时间戳,一种得到是日期格式: 1.日期格式的 Calendar calendar = Calendar.getInstance(); calendar.setTime(new D ...

  8. java获取鼠标在窗口_Java获取窗口鼠标坐标以及键盘按键

    Java中的鼠标和键盘事件 1.使用MouseListener借口处理鼠标事件 鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出 鼠标事件类型是MouseEvent,主要方法有: ...

  9. java 获取手机归属地_java 获取手机归属地

    java 获取手机归属地 [2021-01-30 20:46:44]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...

  10. java脱机是什么意思_java获取本地打印机,以及判断打印机是否脱机状态

    java获取本地打印机,以及判断打印机是否脱机状态 java获取本地打印机,以及判断打印机是否脱机状态 文章中所有返回的类型,是自定义RestFul接口返回类型,你们也可以直接返回数组 如果要看res ...

最新文章

  1. DL:神经网络算法简介之Affine 层的简介、使用方法、代码实现之详细攻略
  2. 使用自定义卫语句写出更简洁的代码
  3. ubuntu系统4G卡上网操作图解
  4. MFC实现BCB中的ProcessMessages
  5. php居中函数,PHP实现的自定义图像居中裁剪函数示例
  6. 【蓝桥杯】第八届java A组题详解
  7. 基础软件皇冠上的明珠,数据库创新 | 创新场景50
  8. 毕业论文引用参考文献的脚注方法
  9. python 图片识别二维码_教你用Python实现实时二维码识别
  10. ANSYS 提取一个简易斜拉桥数值模型刚度矩阵的三种方法
  11. 【定量分析、量化金融与统计学】R语言方差分析ANOVA(F检验)
  12. modelsim脚本仿真(二)带quartus的IP核工程仿真
  13. mac 访达指定目录
  14. loadrunner11中 800用户在线,200用户并发运行怎么设置
  15. [附源码]java毕业设计高校教师教学助手系统的设计与实现
  16. 省市级联;附有最新最全的省市区数据包
  17. 如何下载东城区卫星地图高清版大图
  18. 【51】使用51单片机和数码管生成10以内加法及两组数据判断大小
  19. 三线压力传感器原理_三线压力传感器|三线风压传感器|三线压差变送器简介
  20. jsp页面中a标签触发function函数

热门文章

  1. 如何使用cmd进入打印机选项_运行怎么添加打印机 - 卡饭网
  2. php 考试座位编排系统,考试座位编排vba
  3. Alien Skin ExposureX8专业图像编辑器全新版本
  4. 电脑系统win8计算机在哪里设置开机密码,电脑怎样设置开机密码_win8开机密码设置...
  5. 如何高效率的学习Web前端,个人经验分享
  6. 计算机网络.第三节课.笔记.信道复用、频分复用、统计时分复用、波分复用、时分复用、码分复用、双绞线带宽、双绞线
  7. CountDownTimer 倒计时器
  8. ubuntu + gcc-linaro-交叉编译环境搭建
  9. 可用性及测试方法小介绍
  10. WIN8专业版安装SqlServer2008