Merge pull request #7398 from rahulgul8/development
Checking if a URL Exists in Java
This commit is contained in:
commit
5c3a1752fd
|
@ -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
|
|
@ -0,0 +1,20 @@
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>core-java-networking-2</artifactId>
|
||||||
|
<name>core-java-networking-2</name>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>com.baeldung.core-java-modules</groupId>
|
||||||
|
<artifactId>core-java-modules</artifactId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<finalName>core-java-networking-2</finalName>
|
||||||
|
</build>
|
||||||
|
</project>
|
|
@ -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();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -17,6 +17,7 @@
|
||||||
<module>pre-jpms</module>
|
<module>pre-jpms</module>
|
||||||
<module>core-java-exceptions</module>
|
<module>core-java-exceptions</module>
|
||||||
<module>core-java-optional</module>
|
<module>core-java-optional</module>
|
||||||
|
<module>core-java-networking-2</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
Loading…
Reference in New Issue