import java.net.HttpURLConnection;
import java.net.URL;
public class URLUtils {
/**
* Prints the redirect URL for the provided input URL (if it applies).
* @param url
*/
public static void printRedirect(String url) {
try {
URL urlToPing = new URL(url);
HttpURLConnection urlConn = (HttpURLConnection) urlToPing.openConnection();
// Needed to check if it is a redirect.
urlConn.setInstanceFollowRedirects(false);
// It's any of these response codes: 301/302/303
if (urlConn.getResponseCode() == HttpURLConnection.HTTP_MOVED_PERM
|| urlConn.getResponseCode() == HttpURLConnection.HTTP_MOVED_TEMP
|| urlConn.getResponseCode() == HttpURLConnection.HTTP_SEE_OTHER) {
System.out.println("URL <" + url + "> redirects to: <" + urlConn.getHeaderField("Location") + ">, Response Code: " + +urlConn.getResponseCode());
} else {
System.out.println("URL <" + url + "> has no redirect, Response Code: " + urlConn.getResponseCode());
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
URLUtils.printRedirect("http://www.google.com");
URLUtils.printRedirect("http://www.crjug.org");
}
}
Result:
URL <http://www.google.com> redirects to: <http://www.google.co.cr/>, Response Code: 302 URL <http://www.crjug.org> has no redirect, Response Code: 200
No comments:
Post a Comment