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:
An Introduction to ThreadLocal in Java
Working with Tree Model Nodes in Jackson
Handling Errors in Spring WebFlux
Java Program to Perform Partition of an Integer in All Possible Ways
Spring Cloud – Adding Angular
Disable DNS caching
HandlerAdapters in Spring MVC
Exploring the New Spring Cloud Gateway
Java Program to Perform Cryptography Using Transposition Technique
Tạo số và chuỗi ngẫu nhiên trong Java
Java Program to Generate Date Between Given Range
Registration with Spring Security – Password Encoding
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Performance Difference Between save() and saveAll() in Spring Data
Introduction to Spring Cloud OpenFeign
HTTP Authentification and CGI/Servlet
Spring Security 5 for Reactive Applications
Java Web Services – JAX-WS – SOAP
Giới thiệu Google Guice – Binding
Guide to Guava Multimap
Spring Data JPA Delete and Relationships
Java Program to Implement Pollard Rho Algorithm
Spring Boot - Zuul Proxy Server and Routing
Java Program to Implement Disjoint Sets
Java Program to Implement AVL Tree
Giới thiệu Json Web Token (JWT)
Java Copy Constructor
Chương trình Java đầu tiên
DistinctBy in the Java Stream API
Java – Rename or Move a File
Hướng dẫn Java Design Pattern – Mediator