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 Perform Partition of an Integer in All Possible Ways
Java Program to Implement Caesar Cypher
Implementing a Binary Tree in Java
How to Replace Many if Statements in Java
JPA/Hibernate Persistence Context
Guide to Dynamic Tests in Junit 5
Java Program to Find Minimum Element in an Array using Linear Search
A Guide to JPA with Spring
Java Program to implement Bit Set
Converting String to Stream of chars
Java Program to Implement Iterative Deepening
Java Program to Perform Stooge Sort
Java Program to Perform Complex Number Multiplication
Spring Boot - Interceptor
Chuyển đổi giữa các kiểu dữ liệu trong Java
Generating Random Dates in Java
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Posting with HttpClient
Java Program to Implement Ternary Search Tree
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Lập trình hướng đối tượng (OOPs) trong java
Tính đóng gói (Encapsulation) trong java
Documenting a Spring REST API Using OpenAPI 3.0
New Stream Collectors in Java 9
Checking for Empty or Blank Strings in Java
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Implement Max Heap
How to Break from Java Stream forEach
Mapping a Dynamic JSON Object with Jackson
Default Password Encoder in Spring Security 5
Derived Query Methods in Spring Data JPA Repositories
Primitive Type Streams in Java 8