diff --git a/src/main/java/eu/openaire/urls_worker/util/UriBuilder.java b/src/main/java/eu/openaire/urls_worker/util/UriBuilder.java index e144b32..73a90a1 100644 --- a/src/main/java/eu/openaire/urls_worker/util/UriBuilder.java +++ b/src/main/java/eu/openaire/urls_worker/util/UriBuilder.java @@ -56,23 +56,30 @@ public class UriBuilder { { String publicIpAddress = ""; HttpURLConnection conn = null; + String urlString = "https://api.ipify.org/"; try { - conn = (HttpURLConnection) new URL("https://api.ipify.org/").openConnection(); + conn = (HttpURLConnection) new URL(urlString).openConnection(); conn.setConnectTimeout(60_000); conn.setReadTimeout(60_000); conn.setRequestMethod("GET"); conn.connect(); + + int responseCode = conn.getResponseCode(); + if ( responseCode != 200 ) { + logger.warn("Cannot get the publicIP address for this machine, as \"" + urlString + "\" returned the HTTP-error-code: " + responseCode); + return null; + } + try ( BufferedReader bf = new BufferedReader(new InputStreamReader(conn.getInputStream()))) { publicIpAddress = bf.readLine().trim(); } } catch (Exception e) { - logger.warn("Cannot get the publicIP address for this machine!", e); + logger.warn("Cannot get the publicIP address for this machine, from \"" + urlString + "\"!", e); return null; } finally { if ( conn != null ) conn.disconnect(); } - return publicIpAddress; }