Validación de URL en Java

¿Quería saber si hay alguna API estándar en Java para validar una URL determinada? Quiero verificar si la cadena de URL es correcta, es decir, el protocolo dado es válido y luego verificar si se puede establecer una conexión.

Intenté usar HttpURLConnection, proporcionando la URL y conectándome a ella. La primera parte de mi requisito parece cumplirse, pero cuando intento realizar HttpURLConnection.connect(), se lanza la excepción ‘java.net.ConnectException: Connection refused’.

¿Puede deberse a la configuración del proxy? Intenté establecer las propiedades del sistema para el proxy, pero no tuve éxito.

Hágame saber lo que estoy haciendo mal.

Respuestas:11 Respuestas 11
Tiempo:hace 12 años, 11 meses
Última modificación:hace 7 meses

Solución

Para el beneficio de la comunidad, ya que este hilo es el primero en Google cuando se busca
«url validator java«


Detectar excepciones es costoso y debe evitarse cuando sea posible. Si solo desea verificar que su String es una URL válida, puede usar la clase UrlValidator del proyecto Apache Commons Validator.

Por ejemplo:

String[] schemes = {"http","https"}; // DEFAULT schemes = "http", "https", "ftp"
UrlValidator urlValidator = new UrlValidator(schemes);
if (urlValidator.isValid("ftp://foo.bar.com/")) {
   System.out.println("URL is valid");
} else {
   System.out.println("URL is invalid");
}

Otras respuestas

Debe crear tanto un objeto como un objeto. El código siguiente probará tanto el formato de la dirección URL como si se puede establecer una conexión:URLURLConnection

try {
    URL url = new URL("http://www.yoursite.com/");
    URLConnection conn = url.openConnection();
    conn.connect();
} catch (MalformedURLException e) {
    // the URL is not in a valid form
} catch (IOException e) {
    // the connection couldn't be established
}

Deja un comentario