diff --git a/core-java-modules/core-java-networking-2/.gitignore b/core-java-modules/core-java-networking-2/.gitignore
new file mode 100644
index 0000000000..374c8bf907
--- /dev/null
+++ b/core-java-modules/core-java-networking-2/.gitignore
@@ -0,0 +1,25 @@
+*.class
+
+0.*
+
+#folders#
+/target
+/neoDb*
+/data
+/src/main/webapp/WEB-INF/classes
+*/META-INF/*
+.resourceCache
+
+# Packaged files #
+*.jar
+*.war
+*.ear
+
+# Files generated by integration tests
+backup-pom.xml
+/bin/
+/temp
+
+#IntelliJ specific
+.idea/
+*.iml
\ No newline at end of file
diff --git a/core-java-modules/core-java-networking-2/pom.xml b/core-java-modules/core-java-networking-2/pom.xml
new file mode 100644
index 0000000000..8a26f6ab9f
--- /dev/null
+++ b/core-java-modules/core-java-networking-2/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ core-java-networking-2
+ core-java-networking-2
+ jar
+
+
+ com.baeldung.core-java-modules
+ core-java-modules
+ 1.0.0-SNAPSHOT
+
+
+
+
+
+
+ core-java-networking-2
+
+
diff --git a/core-java-modules/core-java-networking-2/src/main/java/com/baeldung/url/UrlChecker.java b/core-java-modules/core-java-networking-2/src/main/java/com/baeldung/url/UrlChecker.java
new file mode 100644
index 0000000000..b99e74f8bf
--- /dev/null
+++ b/core-java-modules/core-java-networking-2/src/main/java/com/baeldung/url/UrlChecker.java
@@ -0,0 +1,25 @@
+package com.baeldung.url;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+public class UrlChecker {
+
+ public int getResponseCodeForURL(String address) throws IOException {
+ return getResponseCodeForURLUsing(address, "GET");
+ }
+
+ public int getResponseCodeForURLUsingHead(String address) throws IOException {
+ return getResponseCodeForURLUsing(address, "HEAD");
+ }
+
+ private int getResponseCodeForURLUsing(String address, String method) throws IOException {
+ HttpURLConnection.setFollowRedirects(false); // Set follow redirects to false
+ final URL url = new URL(address);
+ HttpURLConnection huc = (HttpURLConnection) url.openConnection();
+ huc.setRequestMethod(method);
+ return huc.getResponseCode();
+ }
+
+}
diff --git a/core-java-modules/core-java-networking-2/src/test/java/com/baeldung/url/UrlCheckerUnitTest.java b/core-java-modules/core-java-networking-2/src/test/java/com/baeldung/url/UrlCheckerUnitTest.java
new file mode 100644
index 0000000000..5e295e65a0
--- /dev/null
+++ b/core-java-modules/core-java-networking-2/src/test/java/com/baeldung/url/UrlCheckerUnitTest.java
@@ -0,0 +1,39 @@
+package com.baeldung.url;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.io.IOException;
+
+import org.junit.Test;
+
+public class UrlCheckerUnitTest {
+
+ @Test
+ public void givenValidUrl_WhenUsingHEAD_ThenReturn200() throws IOException {
+ UrlChecker tester = new UrlChecker();
+ int responseCode = tester.getResponseCodeForURLUsingHead("http://www.example.com");
+ assertEquals(200, responseCode);
+ }
+
+ @Test
+ public void givenInvalidIUrl_WhenUsingHEAD_ThenReturn404() throws IOException {
+ UrlChecker tester = new UrlChecker();
+ int responseCode = tester.getResponseCodeForURLUsingHead("http://www.example.com/unkownurl");
+ assertEquals(404, responseCode);
+ }
+
+ @Test
+ public void givenValidUrl_WhenUsingGET_ThenReturn200() throws IOException {
+ UrlChecker tester = new UrlChecker();
+ int responseCode = tester.getResponseCodeForURL("http://www.example.com");
+ assertEquals(200, responseCode);
+ }
+
+ @Test
+ public void givenInvalidIUrl_WhenUsingGET_ThenReturn404() throws IOException {
+ UrlChecker tester = new UrlChecker();
+ int responseCode = tester.getResponseCodeForURL("http://www.example.com/unkownurl");
+ assertEquals(404, responseCode);
+ }
+
+}
diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml
index 11a1003460..2dca62005d 100644
--- a/core-java-modules/pom.xml
+++ b/core-java-modules/pom.xml
@@ -17,6 +17,7 @@
pre-jpms
core-java-exceptions
core-java-optional
+ core-java-networking-2