1. Check if a file was modified on the server
URL u =null; long timestamp = 0; try { u = new URL(getDocumentBase(), "test.gif"); URLConnection uc = u.openConnection(); uc.setUseCaches(false); /* ** use timestamp has a reference, re-open an URLConnection ** to the same file to check if the timestamp is different ** with the getLastModified() method. */ timestamp = uc.getLastModified(); } catch (Exception e) { e.printStackTrace(); } }
2. Check if a page exists
import java.net.*; import java.io.*; public class URLUtils { public static void main(String s[]) { System.out.println(URLUtils.exists("https://www.maixuanviet.com/how-to-install-and-secure-phpmyadmin-on-ubuntu.vietmx")); System.out.println(URLUtils.exists("https://www.maixuanviet.com/not-exists.vietmx")); /* output : true false */ } public static boolean exists(String URLName){ try { HttpURLConnection.setFollowRedirects(false); // note : you may also need // HttpURLConnection.setInstanceFollowRedirects(false) HttpURLConnection con = (HttpURLConnection) new URL(URLName).openConnection(); con.setRequestMethod("HEAD"); return (con.getResponseCode() == HttpURLConnection.HTTP_OK); } catch (Exception e) { e.printStackTrace(); return false; } } }
The following is doing the same thing but this time we identify ourselves to a proxy.
import java.net.*; import java.io.*; import java.util.Properties; public class URLUtils { public static void main(String s[]) { System.out.println(exists("http://www.maixuanviet.com")); System.out.println(exists("http://www.luyenthithukhoa.vn")); } public static boolean exists(String URLName){ try { Properties systemSettings = System.getProperties(); systemSettings.put("proxySet", "true"); systemSettings.put("http.proxyHost","proxy.mycompany.local") ; systemSettings.put("http.proxyPort", "80") ; URL u = new URL(URLName); HttpURLConnection con = (HttpURLConnection) u.openConnection(); // // it's not the greatest idea to use a sun.misc.* class // Sun strongly advises not to use them since they can // change or go away in a future release so beware. // sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder(); String encodedUserPwd = encoder.encode("domain\\username:password".getBytes()); con.setRequestProperty ("Proxy-Authorization", "Basic " + encodedUserPwd); con.setRequestMethod("HEAD"); System.out.println (con.getResponseCode() + " : " + con.getResponseMessage()); return (con.getResponseCode() == HttpURLConnection.HTTP_OK); } catch (Exception e) { e.printStackTrace(); return false; } } }
Done! Happy Coding!
Related posts:
Java Program to Implement Nth Root Algorithm
Luồng Daemon (Daemon Thread) trong Java
The Guide to RestTemplate
Dockerizing a Spring Boot Application
Mảng (Array) trong Java
Java Program to Implement Shoelace Algorithm
Guide to Dynamic Tests in Junit 5
Spring @Primary Annotation
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux
Java Program to Implement TreeSet API
Period and Duration in Java
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
Test a REST API with Java
Introduction to PCollections
Java Scanner hasNext() vs. hasNextLine()
Spring MVC Tutorial
Spring Boot - Application Properties
Setting a Request Timeout for a Spring REST API
Java Program to Find the Mode in a Data Set
Java Program to Implement IdentityHashMap API
Deploy a Spring Boot App to Azure
Using a Spring Cloud App Starter
A Guide to Java SynchronousQueue
Spring Boot - File Handling
File Upload with Spring MVC
Java Program to Implement Solovay Strassen Primality Test Algorithm
Spring Boot - CORS Support
Request Method Not Supported (405) in Spring
Java Program to Implement Doubly Linked List
Guide to BufferedReader
Immutable ArrayList in Java
Functional Interface trong Java 8