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:
Java Program to Find Transitive Closure of a Graph
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Java Program to Check the Connectivity of Graph Using DFS
Introduction to the Java ArrayDeque
Jackson – Change Name of Field
Implementing a Runnable vs Extending a Thread
Java Program to Perform Searching Using Self-Organizing Lists
Guide to ThreadLocalRandom in Java
An Intro to Spring Cloud Security
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Runnable vs. Callable in Java
Java Program to Perform Arithmetic Operations on Numbers of Size
Java InputStream to String
Java Program to Implement Affine Cipher
Java – Write to File
Java Program to Implement Radix Sort
Sending Emails with Java
Extra Login Fields with Spring Security
ClassNotFoundException vs NoClassDefFoundError
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux
Java Program to implement Circular Buffer
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Java Program to Implement Singly Linked List
Java Program to Implement Brent Cycle Algorithm
Java – InputStream to Reader
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Control Structures in Java
Java Program to Describe the Representation of Graph using Adjacency List
Giới thiệu thư viện Apache Commons Chain
Default Password Encoder in Spring Security 5
Java Stream Filter with Lambda Expression
Java Program to Implement Binary Search Tree