Рубрики
Без рубрики

Как получить IP-адрес на java с помощью InetAddress

IP – адрес-это 32-разрядное или 128-разрядное число без знака, используемое IP, протоколом более низкого уровня, на котором построены такие протоколы, как UDP и TCP. На Яве, в

Автор оригинала: Pankaj Kumar.

IP – адрес-это 32-разрядное или 128-разрядное число без знака, используемое IP, протоколом более низкого уровня, на котором построены такие протоколы, как UDP и TCP. В Java класс InetAddress представляет адрес интернет-протокола (IP).

Здесь мы узнаем, как получить IP-адрес локального хоста и IP-адреса веб-сайта на java с помощью InetAddress.

package com.journaldev.util;

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

public class JavaIPAddress {

    /**
     * @param args
     * @throws UnknownHostException 
     */
    public static void main(String[] args) throws UnknownHostException {
        //print localhost ip address
        System.out.println(InetAddress.getLocalHost().getHostAddress());
        //print website ip address
        System.out.println(InetAddress.getByName("www.journaldev.com"));
        //print all ip addresses for a website
        InetAddress[] inetAddresses = InetAddress.getAllByName("www.google.com");
        for(InetAddress inet : inetAddresses){
            System.out.println(inet);
        }
    }

}

Результатом работы вышеуказанной программы является:

192.168.3.1
www.journaldev.com/50.116.65.160
www.google.com/74.125.224.82
www.google.com/74.125.224.81
www.google.com/74.125.224.80
www.google.com/74.125.224.83
www.google.com/74.125.224.84
www.google.com/2001:4860:4001:803:0:0:0:1010

Когда мы используем InetAddress.getByName(строковый хост) он возвращает текущий IPv4-адрес имени хоста, когда мы используем InetAddress.getAllByName(строковый хост) он возвращает все IP-адреса, связанные с именем хоста. Последний вывод google.com IP-это IP-адрес в формате IPv6.

Эти методы вызывают исключение UnknownHostException , если с именем хоста не связаны IP-адреса. Обратите внимание, что мы не должны использовать какой-либо протокол, такой как HTTP, для ввода имени хоста.