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 Implement the Checksum Method for Small String Messages and Detect
Java Program to Solve Set Cover Problem assuming at max 2 Elements in a Subset
Java Program to Implement Maximum Length Chain of Pairs
Java Program to Implement ScapeGoat Tree
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Giới thiệu Google Guice – Aspect Oriented Programming (AOP)
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Spring Data JPA @Modifying Annotation
Spring Boot - Securing Web Applications
Java Program to Emulate N Dice Roller
How to Get All Dates Between Two Dates?
Comparing Long Values in Java
Converting a Stack Trace to a String in Java
Java Program to Optimize Wire Length in Electrical Circuit
Spring WebClient and OAuth2 Support
Apache Tiles Integration with Spring MVC
Using Spring ResponseEntity to Manipulate the HTTP Response
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
How to Break from Java Stream forEach
Spring Boot - Scheduling
Testing an OAuth Secured API with Spring MVC
A Guide to the Java ExecutorService
A Guide to ConcurrentMap
Hướng dẫn sử dụng lớp Console trong java
Posting with HttpClient
Spring Cloud – Adding Angular
Java Byte Array to InputStream
LinkedList trong java
Spring RestTemplate Request/Response Logging
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Java Program to Implement Queue using Linked List