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 InputStream to String
Java Program to Implement Sparse Matrix
Hashing a Password in Java
Spring Cloud AWS – Messaging Support
Marker Interface trong Java
Java Program to Solve the Fractional Knapsack Problem
Java Program to Perform Cryptography Using Transposition Technique
Handling Errors in Spring WebFlux
Spring Boot - Sending Email
Connect through a Proxy
Java Byte Array to InputStream
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Guava – Join and Split Collections
Java Scanner hasNext() vs. hasNextLine()
Java Program to Implement Rope
Spring REST API + OAuth2 + Angular
Java Program to Implement Fibonacci Heap
Java Program to Solve a Matching Problem for a Given Specific Case
Tính kế thừa (Inheritance) trong java
Apache Commons Collections BidiMap
The Registration API becomes RESTful
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Java Program to Implement TreeSet API
Java Program to Implement Depth-limited Search
Java Program to Implement Hash Trie
Spring Security and OpenID Connect
Java Program to Find the Vertex Connectivity of a Graph
Java Program to Generate Random Hexadecimal Byte
Chuyển đổi Array sang ArrayList và ngược lại
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Truyền giá trị và tham chiếu trong java
Hướng dẫn Java Design Pattern – Intercepting Filter