`
退役的龙弟弟
  • 浏览: 446121 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

得到本地和远程IP

 
阅读更多
package com.ru.util;

import java.net.InetAddress;
import java.net.UnknownHostException;

import javax.servlet.http.HttpServletRequest;

import org.junit.Test;

/**
 * 获取本地IP远程IP以及对IP进行比较的方法
 * @author 
 * @lastmodify 2013-3-3
 * */
public class IPUtil {
	
	/**
	 * 得到本地IP的方法
	 * @return ip
	 * @throws UnknownHostException 
	 * */
	public static String getLocalIP() throws UnknownHostException{
		InetAddress address = InetAddress.getLocalHost(); 
		return address.getHostAddress();
	}
	
	/**
	 * 得到远程主机IP
	 * @return string
	 * */
	public static String getRemoteIP(HttpServletRequest request) {  
	    String ip = request.getHeader("x-forwarded-for");  
	    if (!checkIP(ip)) {  
	        ip = request.getHeader("Proxy-Client-IP");  
	    }  
	    if (!checkIP(ip)) {  
	        ip = request.getHeader("WL-Proxy-Client-IP");  
	    }  
	    if (!checkIP(ip)) {  
	        ip = request.getRemoteAddr();  
	    }  
	    return ip;  
	}  
	private static boolean checkIP(String ip) {  
	    if (ip == null || ip.length() == 0 || "unkown".equalsIgnoreCase(ip)  
	            || ip.split(".").length != 4) {  
	        return false;  
	    }  
	    return true;  
	}  
	
	@Test
	public void run() throws UnknownHostException{
		System.out.println(getLocalIP());
		
		String s = "";
		System.out.println("s长度:"+s.length());
		
	}
}

 

分享到:
评论

相关推荐

    电脑版远程桌面工具下载

    11、可选择是否禁用本地复制到远程的功能 IIS7远程桌面管理开发目的: 本工具于2014年4月开始开发,当时程序名为09远程桌面管理。 开发原因是: 1、当时工作需要管理非常多的服务器、每天不定时检查及处理不同...

    C# 自动修改Default.rdp,调用mstsc.exe实现全自动远程登录

    代码里面的Default.rdp文件(和可执行程序在同一个目录)也可以远程连接Linux主机(需要把session bpp:i设置为24),如果是连windows主机的话可以把session bpp:i:设置成32。当然,也可以自己生成Default.rdp:打开...

    跨平台速度快小巧流畅的免费远程桌面连接控制传输工具.rar

    安全性:远程计算机控制和使用维护网上银行的安全,这要归功于TLS 1.2加密,2048位RSA密钥交换和Erlang技术。 免费:交易会与远程PC访问是免费供个人使用。出于商业目的,提供了透明的授权模式没有隐藏的费用,...

    getStats:getStats是一个很小JavaScript库,使用WebRTC getStats API返回对等连接统计信息,例如带宽使用率,数据包丢失,本地远程ip地址和端口,连接类型等

    | WebRTC getStats API或多 一个很小JavaScript库,使用返回对等连接状态,例如带宽使用率,数据包丢失,本地/远程IP地址和端口,连接类型等。 它已获得,这意味着您可以免费在任何商业/非商业产品中使用它。 npm ...

    ip-tools.zip

    Get Time(获得时间)窗口允许用户从指定时间服务器获得时间,并可使本地时间与之同步;Telnet窗口则是一个Telnet客户端,可远程登录指定的主机;IP Monitor(IP监视)窗口能以图形方式实时显示当前计算机上TCP、UDP和...

    TCP_IP详解卷1

    作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。 本书适合作为计算机专业学生学习网络的教材和教师参考书。也...

    TCP/IP详解 卷1完整版

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户的命令 296 26.2...

    跨平台远程控制软件 TightVNC 2.8.27 + x64.zip

    使用 TightVNC,您可以看到远程机器的桌面,并使用本地鼠标和键盘控制桌面,就像坐在计算机前面一样。TightVNC 是:免费用于个人和商业用途,提供完整的源代码,有用的管理,技术支持,教育和许多其他目的,跨平台,...

    TCP/IP详解卷 pdf格式

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户的命令 296 26.2...

    TCP_IP协议详解卷一

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户的命令 296 26.2...

    协通XT800免费远程控制软件 v5.0.4 企业版.zip

    XT800企业版是适用于企业的安全、快速的远程控制软件,无需公网IP和特殊网络配置,即可穿透防火墙、内网的限制。应用于为客户做远程技术支持、远程服务器管理、和公司分支机构或门店的远程运维和通讯。   远程...

    TCP-IP详解试题

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户的命令 296 26.2...

    TCP-IP详解卷1:协议

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户的命令 296 26.2...

    TCP-IP详解卷一:协议

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户的命令 296 26.2...

    TCP/IP详解卷1:协议

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户的命令 296 26.2...

    决明子:决明子是一个.NET库,用于访问本机Windows远程桌面服务API(以前称为终端服务API)

    Cassia在本地和远程终端服务器上都支持以下操作: 枚举终端会话并报告会话信息,包括连接状态,用户名,客户端名称,客户端显示详细信息,客户端报告的IP地址和客户端内部版本号(WTSEnumerateSessions,...

    TCP/IP详解 卷1:协议--源代码

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户...

    (TCP-IP详解卷1:协议.pdf

    第26章 Telnet和Rlogin:远程登录 293 26.1 引言 293 26.2 Rlogin协议 294 26.2.1 应用进程的启动 295 26.2.2 流量控制 295 26.2.3 客户的中断键 296 26.2.4 窗口大小的改变 296 26.2.5 服务器到客户的命令 296 26.2...

    c#后台获得网络操作相关的类

    获取远程客户机的IP地址 创建一个IPEndPoint对象 创建一个TcpListener对象 创建一个基于TCP协议的Socket对象 创建一个基于UDP协议的Socket对象 获取本地终结点 获取TcpListener对象的本地终结点 获取Socket对象...

Global site tag (gtag.js) - Google Analytics