Added IPAddressLookup (#12097)
This commit is contained in:
parent
372bfb46a6
commit
f429e707ff
|
@ -0,0 +1,50 @@
|
||||||
|
package com.baeldung.iplookup;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.DatagramSocket;
|
||||||
|
import java.net.InetAddress;
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
import java.net.Socket;
|
||||||
|
import java.net.SocketException;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
|
public class IPAddressLookup {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("UDP connection IP lookup: " + getLocalIpAddressUdp());
|
||||||
|
System.out.println("Socket connection IP lookup: " + getLocalIpAddressSocket());
|
||||||
|
System.out.println("AWS connection IP lookup: " + getPublicIpAddressAws());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getLocalIpAddressUdp() {
|
||||||
|
try (final DatagramSocket datagramSocket = new DatagramSocket()) {
|
||||||
|
datagramSocket.connect(InetAddress.getByName("8.8.8.8"), 12345);
|
||||||
|
return datagramSocket.getLocalAddress().getHostAddress();
|
||||||
|
} catch (SocketException | UnknownHostException exception) {
|
||||||
|
throw new RuntimeException(exception);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getLocalIpAddressSocket() {
|
||||||
|
try (Socket socket = new Socket()) {
|
||||||
|
socket.connect(new InetSocketAddress("google.com", 80));
|
||||||
|
return socket.getLocalAddress().getHostAddress();
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getPublicIpAddressAws() {
|
||||||
|
try {
|
||||||
|
String urlString = "http://checkip.amazonaws.com/";
|
||||||
|
URL url = new URL(urlString);
|
||||||
|
try (BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()))) {
|
||||||
|
return br.readLine();
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue