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:
How to Read a File in Java
Java Program to Implement Control Table
Làm thế nào tạo instance của một class mà không gọi từ khóa new?
How to Get a Name of a Method Being Executed?
Guide to UUID in Java
Java Program for Topological Sorting in Graphs
A Guide to Iterator in Java
Hướng dẫn Java Design Pattern – Bridge
Java Program to Implement Karatsuba Multiplication Algorithm
Java Program to Implement Radix Sort
Java Program to Find MST (Minimum Spanning Tree) using Kruskal’s Algorithm
Java Program to Implement Suffix Array
Assert an Exception is Thrown in JUnit 4 and 5
Java Program to Implement Direct Addressing Tables
Receive email by java client
Spring Boot - Servlet Filter
Tính trừu tượng (Abstraction) trong Java
Tính đa hình (Polymorphism) trong Java
JUnit 5 @Test Annotation
Spring Boot - OAuth2 with JWT
Java Program to Perform Right Rotation on a Binary Search Tree
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Spring Boot - Runners
Versioning a REST API
Introduction to Project Reactor Bus
Merging Streams in Java
Một số từ khóa trong Java
Spring – Injecting Collections
Java Program to Perform Deletion in a BST
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Spring Autowiring of Generic Types
Transaction Propagation and Isolation in Spring @Transactional