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:
Send an email with an attachment
Mảng (Array) trong Java
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Encode/Decode to/from Base64
Spring Security Login Page with React
Convert String to Byte Array and Reverse in Java
Number Formatting in Java
Giới thiệu Google Guice – Injection, Scope
Weak References in Java
Java Program to Find Transitive Closure of a Graph
Java Program to Implement Control Table
Java Program to Compute Cross Product of Two Vectors
Đồng bộ hóa các luồng trong Java
Java Program to Perform Search in a BST
JUnit5 @RunWith
Guava Collections Cookbook
Java Program to Find Nearest Neighbor for Static Data Set
Custom Cascading in Spring Data MongoDB
Java Program to Implement the MD5 Algorithm
Java Program to Implement the Program Used in grep/egrep/fgrep
Java Program to Generate Random Partition out of a Given Set of Numbers or Characters
Java Program to Implement RoleUnresolvedList API
Spring Boot - Introduction
Java Program to Implement Stack using Linked List
A Guide to the finalize Method in Java
Generating Random Numbers in a Range in Java
Converting Between a List and a Set in Java
Logging in Spring Boot
Create a Custom Auto-Configuration with Spring Boot
Beans and Dependency Injection
Serialization và Deserialization trong java
Java Program for Douglas-Peucker Algorithm Implementation