`
退役的龙弟弟
  • 浏览: 453690 次
  • 性别: 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());
		
	}
}

 

分享到:
评论

相关推荐

    得到本机远程IP地址

    本机IP地址指的是设备连接到本地网络时所使用的地址,而远程IP地址则是指与本机进行通信的服务器的IP地址。 在Python编程语言中,可以使用内置的`socket`模块来获取这些信息。首先,让我们了解一下`socket`模块。`...

    远程IP安全策略设置工具

    在这个远程IP安全策略设置工具中,SOCKET类被用于创建服务器和客户端之间的连接,以便传输安全策略的相关信息。 单线程同步传输是一种基本的通信模式。在这种模式下,一旦服务器接受到客户端的连接请求,就会暂停...

    Server2003 无法使用远程桌面的本地打印机资源(已解决)

    3. **处理特定的TCP/IP端口设置**:为了使远程桌面服务能够识别和使用本地打印机,有时需要调整TCP/IP端口的配置。特别是对于TSPort和TSInactivePort这两个参数,它们分别用于指定活动和非活动状态下的TCP/IP端口,...

    得到本机局域网和公网ip

    总的来说,这个项目涉及到使用编程技术获取和展示本地计算机的局域网IP和公网IP,这需要对网络协议、Winsock编程以及易语言或C++Builder有一定的理解。对于学习网络编程和操作系统交互的开发者来说,这是一个基础但...

    C++获得本机外网ip

    - **下载网页内容**:使用`URLDownloadToFile`函数下载"http://www.ip138.com/ip2city.asp"页面的内容到本地文件"ip.txt"。 - **读取并解析文件**:通过`fopen`打开"ip.txt"文件,然后使用`fread`读取整个文件内容...

    用Java编程获得本机和服务器IP地址

    总的来说,通过Java的`InetAddress`类,我们可以方便地获取本地主机和远程服务器的IP地址,这对于构建网络应用程序至关重要。不过,实际开发中还应考虑异常处理、性能优化以及网络环境的多样性等因素。

    易语言远程控制本地控制台

    远程控制则是通过网络连接,使用户能够像操作本地控制台一样操作远端计算机,实现远程操作、监控和管理。 实现远程控制本地控制台,通常涉及到以下几个关键知识点: 1. **网络通信**:远程控制的基础是网络通信,...

    用VC实现获得本地IP技术

    但这种方法通常用于获取远程主机的IP,而不是本地IP。 在实际开发中,我们还应考虑错误处理和异常安全。例如,如果无法获取适配器信息,应正确处理错误并释放分配的内存。此外,如果应用程序需要在多个线程中运行,...

    获取本地计算机名称和IP地址.rar

    在IT领域,获取本地计算机的名称和IP地址是常见的系统管理任务,这有助于网络诊断、远程访问和系统配置。在Windows操作系统中,我们通常通过命令行工具或编程接口来实现这一功能。以下是一些详细的方法: 1. **...

    程序本地ip链接雷达

    这款软件能够帮助用户深入理解本机程序的网络活动,包括它们与哪些远程IP地址建立了连接,以及这些IP地址对应的物理位置。这对于网络安全监控、程序调试以及网络性能分析等工作具有重要的实用价值。 在IT行业中,...

    使用vs2019进行Linux远程开发的方法步骤

    接下来,需要一个配置好的Linux远程环境,包括静态IP地址、GCC工具链和OpenSSH服务器。在VS2019中创建新项目时,选择Linux作为目标平台,可以创建传统的VS项目解决方案或CMake项目。 配置远程项目是关键步骤。在...

    winform 远程桌面

    2. 全屏半屏切换:在远程桌面中,用户可以选择全屏模式以获得更接近本地操作体验的效果,或者选择半屏模式以便同时处理本地和远程任务。这种切换功能通常由WinForm应用程序提供,通过API调用实现窗口状态的动态调整...

    vnn远程控制远程桌面操作

    VNN因其简单易用和高效性,在局域网内的远程操作中得到了广泛应用。 首先,我们来详细了解VNN的功能和工作原理。VNN通过TCP/IP协议进行通信,用户可以借助VNN客户端软件连接到目标计算机,即VNN服务器。一旦连接...

    如何获得对方主机IP地址?

    然后,在命令提示符下输入“netstat -n”,这将显示当前所有已建立的网络连接及其对应的本地和远程IP地址。特别地,如果正在与某人通过QQ进行通信,可以通过监控“TCP”连接来定位对方的IP地址,因为QQ通信主要基于...

    如何获得IP地址源程序(

    此外,对于远程IP地址的获取,可能需要借助DNS解析或其他网络通信技术。 通过深入学习和实践VB.NET,不仅可以掌握获取IP地址的方法,还能进一步了解网络编程、多线程、套接字通信等复杂概念。这将有助于提升你的...

    APICloud远程调试,手机同步刷新,本地调试第三方模块的方法

    - **不支持本地路径**:APICloud中使用`widget://`或`file://`这类本地路径的资源无法通过远程调试的方式加载和调试。 #### 六、总结 通过以上介绍的方法,开发者可以显著提升APICloud应用的开发效率。不仅能够...

    Postgre数据库远程连接设置

    5. **定期更新**:保持PostgreSQL软件更新至最新版本,以获得最新的安全补丁和性能改进。 通过以上步骤,你应能成功配置PostgreSQL数据库以接受远程连接。请务必谨慎操作,遵循最佳安全实践,以确保数据库系统的...

    远程桌面连接 windows7 rc 版

    在Windows 7 RC(Release Candidate)版本中,这一功能得到了优化和改进,提供了更稳定、更高效的远程访问体验。下面我们将深入探讨Windows 7 RC版的远程桌面连接以及相关知识点。 首先,我们要了解远程桌面连接的...

    获得主机域名及其IP和Port端口

    例如,在Python中,我们可以使用`socket`库来获取本地主机名和IP,使用`socket.gethostbyname()`来解析域名,使用`socket.socket().connect()`建立连接并获取远程服务的端口。 了解如何获取主机域名、IP和Port,...

    VNC远程控制软件

    VNC(Virtual Network Computing)是一种基于远程桌面协议(RDP)的开源远程控制软件,它允许用户通过网络访问和控制远程计算机。VNC的工作原理是通过在本地计算机上安装一个客户端,而在远程计算机上安装一个服务器...

Global site tag (gtag.js) - Google Analytics