code: public static boolean ping(String url, int timeout) {
  		//url = url.replaceFirst("https", "http"); // Otherwise an exception may be thrown on invalid SSL certificates.
  
  		try {
  			HttpURLConnection connection = (HttpURLConnection) prepareURLConnection(url, timeout);
  			connection.setRequestMethod("HEAD");
  			int responseCode = connection.getResponseCode();
  			return (200 <= responseCode && responseCode <= 399);
  		} catch (IOException exception) {
  			return false;
  		}
  	}
docs: Pings a HTTP URL. This effectively sends a HEAD request and returns
  <code>true</code> if the response code is in the 200-399 range.
  
  @param url The HTTP URL to be pinged.
  @param timeout The timeout in millis for both the connection timeout and
  the response read timeout. Note that the total timeout is effectively two
  times the given timeout.
  @return <code>true</code> if the given HTTP URL has returned response
  code 200-399 on a HEAD request within the given timeout, otherwise
  <code>false</code>.
  @author BalusC,
  http://stackoverflow.com/questions/3584210/preferred-java-way-to-ping-a-http-url-for-availability