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 Perform Postorder Recursive Traversal of a Given Binary Tree
Circular Dependencies in Spring
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Spring MVC Tutorial
Java Program to Implement LinkedBlockingDeque API
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Spring Boot - CORS Support
Java Program to Implement Suffix Tree
Guide to the Java Queue Interface
Convert Character Array to String in Java
Java Program to Implement Stack
Bootstrap a Web Application with Spring 5
JUnit 5 for Kotlin Developers
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
Java Program to add two large numbers using Linked List
Java Program to Implement Stack using Two Queues
Java Program to Implement Sieve Of Atkin
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Java 8 Predicate Chain
Copy a List to Another List in Java
Lớp LinkedHashMap trong Java
Overview of the java.util.concurrent
Lớp Collections trong Java (Collections Utility Class)
Java Program to Perform Complex Number Multiplication
Debug a HttpURLConnection problem
Guide to Selenium with JUnit / TestNG
HttpClient 4 Cookbook
Spring Boot - Exception Handling
Java Program to Check Whether Graph is DAG
Registration – Password Strength and Rules
Convert Hex to ASCII in Java
Integer Constant Pool trong Java