获取各种IP地址

最近做项目,犯了一个低级的错误,把获取客户端Ip当成获取本机IP了,被训的很厉害了,哎,是啊,怪自己太笨了,活该啊。

java 获取客户端真实IP地址的方法:

public 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.getRemoteAddr();
       }
       return ip;
   } 

 java获取本机的IP和主机名

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Properties;
import java.util.Set;  

public class TestSystemProperties {  

    public static void main(String [] args){
        InetAddress netAddress = getInetAddress();
        System.out.println("host ip:" + getHostIp(netAddress));
        System.out.println("host name:" + getHostName(netAddress));
        Properties properties = System.getProperties();
        Set<String> set = properties.stringPropertyNames(); //获取java虚拟机和系统的信息。
        for(String name : set){
            System.out.println(name + ":" + properties.getProperty(name));
        }
    }  

    public static InetAddress getInetAddress(){  

        try{
            return InetAddress.getLocalHost();
        }catch(UnknownHostException e){
            System.out.println("unknown host!");
        }
        return null;  

    }  

    public static String getHostIp(InetAddress netAddress){
        if(null == netAddress){
            return null;
        }
        String ip = netAddress.getHostAddress(); //get the ip address
        return ip;
    }  

    public static String getHostName(InetAddress netAddress){
        if(null == netAddress){
            return null;
        }
        String name = netAddress.getHostName(); //get the host address
        return name;
    }  

}  

 

获取各种IP地址

时间: 2024-10-10 21:31:00

获取各种IP地址的相关文章

获取代理IP地址

今天在开源中国上看到有个有写了个小程序,用来获取代理IP地址.用的beautifulsoup. 自己动手用正则重写了一下. #!/usr/bin/python import requests import re pattern=re.compile(r'(\d+)\D(\d+)\D(\d+)\D(\d+)\D(\d+)') headers={'Host':"www.ip-adress.com", 'User-Agent':"Mozilla/5.0 (Windows NT 6.

Flask框架获取用户IP地址的方法

本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最基本的Flask使用方法. python代码如下: from flask import Flask, render_template, request # Initialize the Flask application app = Flask(__name__) # Default route,

再论 ASP.NET 中获取客户端IP地址

说到IP获取无非是我们常见的以下几种方式,但是具体获取的值具体区别在哪?网上不乏相关文章,说的也是很详细,但是真正使用起来,还有很多不太对的地方.IP在不同系统中,应用相当广泛,常见的日志记录.广告分区域投放等. 1: HttpContext.Current.Request.ServerVariables["HTTP_VIA"]; 2: HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"

Linux下编程获取本地IP地址的常见方法

转载于:http://blog.csdn.net/k346k346/article/details/48231933 在进行linux网络编程时,经常用到本机IP地址.本文罗列一下常见方法,以备不时之需. 获取本机IP地址,是一个相当灵活的操作,原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的.比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡设置别名,可以重命名网卡.用户计算机所在网络拓扑结构未知,主机名设置是一个可选项,并且同样可以为一

性能优化之——.NET(C#)调用webService获取客户端IP地址所属区域(异步回调)(二)

朋友们这次分享的是异步回调不是异步调用哦! 请注意喽! 功能描述,接口地址,方法名称以及参数说明,同上篇:.NET(C#)调用webService获取客户端IP地址所属区域(非异步)(一)(LZ比较懒,不想写太多哦!(⊙0⊙)) 实现代码如下: 1 namespace main 2 { 3 class Program 4 { 5 public static string Result = string.Empty; 6 7 static void Main(string[] args) 8 {

PHP 实现获取服务器端IP地址

<?php /** * 获取服务器端IP地址  * @return string  */ function get_server_ip() {      if (isset($_SERVER)) {          if($_SERVER['SERVER_ADDR']) {             $server_ip = $_SERVER['SERVER_ADDR'];          } else {              $server_ip = $_SERVER['LOCAL_A

.net 获取客户端Ip地址

Request.ServerVariables["REMOTE_ADDR"]来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址. 要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables["HTTP_X_FORWARDED_FOR"]来读取. 不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables["HTTP

C#获取真实IP地址实现方法

通常来说,大家获取用户IP地址常用的方法是: 1 string IpAddress = ""; 2 if((HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null 3 && HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] !=String.Empty)

Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip

获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <netdb.h> #include <net/if.h> #inc

C#如何获取真实IP地址

大家获取用户IP地址常用的方法是 C# 代码   复制 string IpAddress = ""; if((HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null && HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] !=String.Empty) )