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 Check if a Given Graph Contain Hamiltonian Cycle or Not
Tìm hiểu về xác thực và phân quyền trong ứng dụng
Multi Dimensional ArrayList in Java
HttpClient Timeout
Java Program to Generate N Number of Passwords of Length M Each
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Queue và PriorityQueue trong Java
ExecutorService – Waiting for Threads to Finish
Spring MVC Setup with Kotlin
New in Spring Security OAuth2 – Verify Claims
Java Program to Implement Skew Heap
A Guide to TreeMap in Java
Tính kế thừa (Inheritance) trong java
A Custom Data Binder in Spring MVC
Using JWT with Spring Security OAuth (legacy stack)
Ignore Null Fields with Jackson
Java Convenience Factory Methods for Collections
Java Program to Implement Disjoint Set Data Structure
Giới thiệu Java 8
Java Program to Represent Graph Using 2D Arrays
Sorting in Java
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Tính đa hình (Polymorphism) trong Java
Java Program to Implement CountMinSketch
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Read an Outlook MSG file
Converting Between an Array and a Set in Java
List Interface trong Java
Stack Memory and Heap Space in Java
Spring Data MongoDB Transactions
Guide to System.gc()