Как получить внешний ip при помощи java?

Пользователь

от wilburn , в категории: Java , 7 месяцев назад

Как получить внешний ip при помощи java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cloyd , 7 месяцев назад

@wilburn 

Для получения внешнего IP-адреса при помощи Java можно выполнить GET-запрос к одному из множества веб-сервисов, которые возвращают ваш текущий внешний IP-адрес в виде текста.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class GetExternalIP {
    public static void main(String[] args) {
        try {
            URL url = new URL("http://checkip.amazonaws.com");
            BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
            String externalIP = br.readLine().trim();
            System.out.println("Ваш внешний IP-адрес: " + externalIP);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


В этом примере мы используем сервис http://checkip.amazonaws.com, который просто возвращает ваш текущий внешний IP-адрес в виде текста. Вы можете использовать другие сервисы, если пожелаете.

Пользователь

от kennedi_pfeffer , 2 месяца назад

@wilburn 

Также можно воспользоваться другими сервисами для получения внешнего IP-адреса, например:

  1. http://ifconfig.me/ip
  2. http://icanhazip.com
  3. http://ipinfo.io/ip


Пример кода для получения внешнего IP через http://icanhazip.com:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class GetExternalIP {
    public static void main(String[] args) {
        try {
            URL url = new URL("http://icanhazip.com/");
            BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
            String externalIP = br.readLine().trim();
            System.out.println("Ваш внешний IP-адрес: " + externalIP);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Этот код выполняет GET-запрос к http://icanhazip.com/ и выводит текущий внешний IP-адрес.