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:
Concrete Class in Java
Java Program to Implement Extended Euclid Algorithm
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Automatic Property Expansion with Spring Boot
Java Program to Implement Unrolled Linked List
Convert char to String in Java
Remove HTML tags from a file to extract only the TEXT
How to Kill a Java Thread
Java Program to Implement ConcurrentLinkedQueue API
Spring 5 Testing with @EnabledIf Annotation
A Custom Data Binder in Spring MVC
Java Program to Generate Randomized Sequence of Given Range of Numbers
Converting a List to String in Java
Instance Profile Credentials using Spring Cloud
Guide to Java Instrumentation
Dynamic Proxies in Java
Error Handling for REST with Spring
Form Validation with AngularJS and Spring MVC
Lớp LinkedHashMap trong Java
HTTP Authentification and CGI/Servlet
HttpClient Connection Management
Quick Guide to Spring Controllers
Spring Security 5 – OAuth2 Login
Java Program to Implement Min Heap
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Java Multi-line String
Java Program to Find the Number of Ways to Write a Number as the Sum of Numbers Smaller than Itself
Java Program to Implement Knight’s Tour Problem
LinkedList trong java
Phân biệt JVM, JRE, JDK
HttpClient with SSL