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 Cloud AWS – S3
Java Program to Implement ConcurrentHashMap API
Java Program to Implement Segment Tree
JUnit 5 for Kotlin Developers
Java Program to Implement Sorted Vector
Spring Boot - Enabling HTTPS
Hướng dẫn Java Design Pattern – Flyweight
Hướng dẫn Java Design Pattern – Prototype
Spring Boot - Quick Start
“Stream has already been operated upon or closed” Exception in Java
Hướng dẫn Java Design Pattern – Strategy
Mapping a Dynamic JSON Object with Jackson
How to Get All Dates Between Two Dates?
Tính kế thừa (Inheritance) trong java
Java Program to Implement Uniform-Cost Search
Java Program to Convert a Decimal Number to Binary Number using Stacks
Daemon Threads in Java
Phương thức tham chiếu trong Java 8 – Method References
Thao tác với tập tin và thư mục trong Java
Java Program to Implement Brent Cycle Algorithm
Adding Shutdown Hooks for JVM Applications
Java TreeMap vs HashMap
Java Program to Perform the Sorting Using Counting Sort
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Java – String to Reader
Java Program to Implement DelayQueue API
Java Program to Implement Iterative Deepening
Guide to PriorityBlockingQueue in Java
Java List UnsupportedOperationException
What is Thread-Safety and How to Achieve it?
Guide to CopyOnWriteArrayList
Java Stream Filter with Lambda Expression