ホームページ  >  記事  >  Java  >  Java で現在のサーバーの IP アドレスを取得するコード例の詳細な紹介

Java で現在のサーバーの IP アドレスを取得するコード例の詳細な紹介

黄舟
黄舟オリジナル
2017-03-08 11:03:053398ブラウズ

この記事では、Java で現在のサーバーの IP アドレスを取得する方法を主に紹介します。編集者が非常に優れていると考えたので、参考として共有します。エディターに従って見てみましょう

1. Tomcat は無料のオープンソース Web サーバーであり、ローカルにデプロイされている場合、対応するアドレスは localhost で、対応するアドレスは 127.0.0.1 です。

例: http://www.php.cn/:8080/project ルート値を通じてアクセスすることも、http://www.php.cn/project ルート値を通じてアクセスすることもできます。

サーバー (Linux) システム クラスにデプロイされている場合は、サーバーの IP アドレスを介してアクセスする必要があります。

2. 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;
  }
}

SSM フレームワーク 農業用モノのインターネット インテリジェント育種システムの育種ログでは、画像をサーバーにアップロードする必要があります。ローカル テスト中、保存されたパスはローカル ディスク E にあるため、バックグラウンドはローカル領域からリソース ファイルを直接取得します。ファイルをサーバーに渡すと、ファイルが見つからないため、IP アドレスが取得できないと推測され、それに基づいてファイル情報を読み取る方法を設計したいと考えています。サーバーから送信されましたが、成功しませんでした。その後、localhost が 127.0.0.1 と一致していることがわかったので、localhost の代わりにサーバー IP アドレスを使用して読み取り操作を完了しようと考えましたが、本質はやはりフロントエンド インターフェイスからの読み取りでした。


以上がJava で現在のサーバーの IP アドレスを取得するコード例の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。