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:
Spring MVC Content Negotiation
Convert String to int or Integer in Java
Java Scanner hasNext() vs. hasNextLine()
Lập trình đa luồng với CompletableFuture trong Java 8
Truyền giá trị và tham chiếu trong java
Một số nguyên tắc, định luật trong lập trình
Injecting Prototype Beans into a Singleton Instance in Spring
Java Program to Print only Odd Numbered Levels of a Tree
Java Program to Implement Horner Algorithm
Java Program to Implement Coppersmith Freivald’s Algorithm
Java TreeMap vs HashMap
Mệnh đề if-else trong java
Debugging Reactive Streams in Java
Jackson – Decide What Fields Get Serialized/Deserialized
Java Program to Check for balanced parenthesis by using Stacks
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Hướng dẫn Java Design Pattern – Facade
Java Program to Sort an Array of 10 Elements Using Heap Sort Algorithm
Spring Boot - Admin Server
How to Define a Spring Boot Filter?
Guide to java.util.concurrent.BlockingQueue
Merging Streams in Java
Using Optional with Jackson
Automatic Property Expansion with Spring Boot
Spring Security Custom AuthenticationFailureHandler
Java Program to Implement Max Heap
Check If a File or Directory Exists in Java
Introduction to Spring Cloud Stream
Format ZonedDateTime to String
Spring Cloud AWS – EC2
Spring Data JPA and Null Parameters
LinkedHashSet trong Java hoạt động như thế nào?