sis forum index.php,SiS001 获取当前服务器的Ip地址

news/2024/11/28 7:39:56/

sis forum index.php,SiS001 获取当前服务器的Ip地址

名片进入公众号【娱乐857】

即可获取完整版资料

public board static void main(String[] args) {
        try {  
            //Enter.https://1024td.com @InetAddress的服务器地址 
            InetAddress address = InetAddress.getLocalHost();
            System.out.println(address.getHostName());//网站主机名
            System.out.println(address.getCanonicalHostName());//主机别名
            System.out.println(address.getHostAddress());//获取亚洲IP地址
            System.out.println("===============");
            
            //用域名创建 InetAddress原创区对象
            InetAddress address1 = InetAddress.getByName("www.wodexiangce.cn");
            //获取的是该网站的ip地址,如果我们所有的请求都通过nginx的,所以这里获取到的其实是nginx服务器的IP地址
            System.out.println(address1.getHostName());//www.wodexiangce.cn
            System.out.println(address1.getCanonicalHostName());//124.237.121.122
            System.out.println(address1.getHostAddress());//124.237.121.122
            System.out.println("===============");
            
            //用IP地址创建InetAddress对象
            InetAddress address2 = InetAddress.getByName("220.181.111.188");
            System.out.println(address2.getHostName());//220.181.111.188
            System.out.println(address2.getCanonicalHostName());//220.181.111.188
            System.out.println(address2.getHostAddress());//220.181.111.188
            System.out.println("===============");
            
            //根据主机名返回其可能的所有InetAddress对象
            InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");
            for (InetAddress addr : addresses) {
                System.out.println(addr);
                //www.baidu.com/220.181.111.188
                //www.baidu.com/220.181.112.244
            }
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
复制代码

如果使用了反向代理,这种获取方式显然是不准确的,我们采用的方法是新建一个java类,里面配的是当前服务器的IP地址(也就是说这个类在每个节点服务器上部署的是不同的),程序里用的话直接获取这个工具类就可以了,虽然方法有点笨,但是解决问题了。

复制代码

public class CommonServerIP {
    /**
     * 这个类主要是保存常用的一些固定的服务器IP
     */
     public static String CURRENT_SERVER="124.237.121.46";//当前服务器的ip地址

 获取本地的Ip地址:

public static void main(String[] args) {
      try {
             InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121
             String hostAddress = address.getHostAddress());//192.168.0.121            
             InetAddress address1 = InetAddress.getByName("www.wodexiangce.cn");//获取的是该网站的ip地址,比如我们所有的请求都通过nginx的,所以这里获取到的其实是nginx服务器的IP地 
             String hostAddress1 = address1.getHostAddress());//124.237.121.122 
             InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");//根据主机名返回其可能的所有InetAddress对象 
             for(InetAddress addr:addresses){ 
             System.out.println(addr);//www.baidu.com/14.215.177.38 
             //www.baidu.com/14.215.177.37 
           } 
        } catch (UnknownHostException e) { 
             e.printStackTrace();
      } 
 }
获取服务器的Ip地址(其他人写的):

/**
     * 获取服务器IP地址
     * @return
     */
    @SuppressWarnings("unchecked")
    public static String  getServerIp(){
        String SERVER_IP = null;
        try {
            Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
            InetAddress ip = null;
            while (netInterfaces.hasMoreElements()) {
                NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();
                ip = (InetAddress) ni.getInetAddresses().nextElement();
                SERVER_IP = ip.getHostAddress();
                if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress()
                        && ip.getHostAddress().indexOf(":") == -1) {
                    SERVER_IP = ip.getHostAddress();
                    break;
                } else {
                    ip = null;
                }
            }
        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    
        return SERVER_IP;
    }

链接:https://1024td.com/p?1209

来源:资源库之家

著作权归作者所有。非商业转载注明出处。


http://www.ppmy.cn/news/551177.html

相关文章

移动web-字体图标

目录 1 字体图标 2 图标库 3上传矢量图 1 字体图标 使用场景:使用字体图标技巧实现网页中简洁的图标效果 优点: 灵活性:灵活地修改样式,例如:尺寸、颜色等 轻量级:体积小、渲染快、降低服务器请求次数…

WordPress建站笔记---各种命令

YouTube教学视频 我的网站 Albert Tech 技术栈 我选择了LAMP (Linux\Apach\MySql\PHP),LNMP用到Nginx反向代理(但Nginx我不熟),网上查在资源缓存上比纯 Apache要好些。 大家可以搜 Linux运维面板 ,有 宝塔面板、1p…

tarjan算法(求强连通分量)(缩点)

几百年前水的 tarjan算法(求强连通分量)(缩点) 强连通:两个点相互可达 强连通分量:集合中的点两两可达 思路:记录自己的时间戳dfs与能到达的最小时间戳low,先dfs搜索完自己能到达…

笑傲江湖编年史

以笑傲江湖开篇为元年:三百余年前,衡山派创立;东灵道长创立泰山派;两百余年前,华山派创立;一两百年前,日月神教创立;嵩山派创立;晓风师太创立恒山派;一百余年…

微电台丨关于数据中台那些事儿(下)之数据江湖外传

♬ 点上方绿标,收听Informatica微电台 文末投票,感恩有礼 Informatica中国区销售总经理李晨邀您一起深入解析数据中台建设过程中潜在的挑战与应对之道,一起展望未来。 《笑傲江湖》里的任我行曾说: “有人的地方就有江湖” 《数…

从一亩三分地转——“有代码的地方,就有江湖 - 冯诺伊曼.金庸”

微软和谷歌,就是 少林 和 武当 天下武功出少林,C,C,C#都出自此宗,对其他武功也影响深远 C 由 易筋经 而来,通过理解程序运行本质来操作计算机,内功达不到深度的程序员,发挥不出好效…

揭秘金庸笔下的假面江湖

金庸小说中,最著名的假面人当属《笑傲江湖》中的岳不群,以君子之面行小人之事。岳不群戴上假面,是为了实现自己的欲望,还有一种假面人,完全是人在江湖,身不由己。他们都是有“组织”的人。 凤凰网游戏-大侠…

笑傲江湖中的政治斗争

 天下大势,合久必分,分久必合。江湖也是一样,一代新人换旧人,大动荡之后必定是短暂的平静,而平静之后又是新的动荡,如此循环往复。江湖百晓生曾言“江湖是传奇人物的舞台,没有传奇的…