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:
Quick Guide to java.lang.System
Using Java Assertions
Spring Security Remember Me
String Processing with Apache Commons Lang 3
Binary Numbers in Java
Spring Boot - Service Components
Java Program to Perform Sorting Using B-Tree
Hướng dẫn Java Design Pattern – Composite
Java – Combine Multiple Collections
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Hướng dẫn Java Design Pattern – Proxy
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Generate Spring Boot REST Client with Swagger
Iterating over Enum Values in Java
Serialize Only Fields that meet a Custom Criteria with Jackson
Validate email address exists or not by Java Code
Java Program to Implement LinkedBlockingQueue API
Debug a HttpURLConnection problem
Giới thiệu Google Guice – Aspect Oriented Programming (AOP)
Java Program to Implement Depth-limited Search
So sánh ArrayList và LinkedList trong Java
Java Program to Implement Self Balancing Binary Search Tree
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Giới thiệu Swagger – Công cụ document cho RESTfull APIs
Java Program to Implement Graph Coloring Algorithm
Reading an HTTP Response Body as a String in Java
Java Program to Implement Ternary Heap
HttpAsyncClient Tutorial
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
Java String Conversions
Posting with HttpClient
Java Program to Implement Strassen Algorithm