¿Cómo puedo verificar si una cadena es una URL en Java?Cómo verificar si una cadena en Java es una URL válida
Respuesta
Puede intentar crear un objeto java.net.URL
. Si no es una URL adecuada, se lanzará un MalformedURLException
.
Para que quede claro , solo lanzaría una MalformedURLException 'si no se especifica ningún protocolo, o si se encuentra un protocolo desconocido". A diferencia, UrlValidator de Apache, no se realiza ninguna validación adicional. – dogbane
En realidad, realiza otros controles también, p. números de puerto. – Grodriguez
Cité eso de javadocs http://download.oracle.com/javase/6/docs/api/java/net/URL.html. No declaran ningún otro cheque. – dogbane
Puede usar UrlValidator
de commons-validator. Le ahorrará escribir código en el que el flujo lógico se guía mediante el almacenamiento en caché de una excepción, que generalmente se considera una mala práctica. En este caso, sin embargo, yo creo que está bien para hacer lo que otros sugirieron, si se mueve esta funcionalidad a un método de utilidad llamada isValidUrl(..)
+1 por ser diferente :) – willcodejavaforfood
no es necesario duplicar las respuestas de otros;) – Bozho
no permitirá guiones bajos en el nombre de host –
Como complemento de la respuesta Bozho, para ir más práctico:
- Commons Descargar Apache package y descomprimirlo
- Incluye commons-validator-1.4.0.jar en tu ruta de compilación java.
prueba con este código de ejemplo (reference):
//...your imports import org.apache.commons.validator.routines.*; // Import routines package! public static void main(String[] args){ // Get an UrlValidator UrlValidator defaultValidator = new UrlValidator(); // default schemes if (defaultValidator.isValid("http://www.apache.org")) { System.out.println("valid"); } if (!defaultValidator.isValid("http//www.oops.com")) { System.out.println("INvalid"); } // Get an UrlValidator with custom schemes String[] customSchemes = { "sftp", "scp", "https" }; UrlValidator customValidator = new UrlValidator(customSchemes); if (!customValidator.isValid("http://www.apache.org")) { System.out.println("valid"); } // Get an UrlValidator that allows double slashes in the path UrlValidator doubleSlashValidator = new UrlValidator(UrlValidator.ALLOW_2_SLASHES); if (doubleSlashValidator.isValid("http://www.apache.org//projects")) { System.out.println("INvalid"); }
Ejecutar/Depurar
Si programa en Android, se podría utilizar para probar android.webkit.URLUtil
.
URLUtil.isHttpUrl(url)
URLUtil.isHttpsUrl(url)
Espero que sea útil.
Esto realmente no verifica si es una url solo comprueba si hay http: // al principio, lo que necesita con eso es URLUtil.isValidUrl (url) –
Encabezado rápido que se llama URLUtil ... no URLUtil * S *. – Tommie
Esta función valida una URL y devuelve verdadero (URL válido) o falso (URL no válida).
public static boolean isURL(String url) {
try {
new URL(url);
return true;
} catch (Exception e) {
return false;
}
}
Asegúrese de import java.net.URL;
Para Android sólo tiene que añadir esta línea:
boolean isValid = URLUtil.isValidUrl("your.uri");
Aquí van:
public static boolean isValidURL(String urlString)
{
try
{
URL url = new URL(urlString);
url.toURI();
return true;
} catch (Exception exception)
{
return false;
}
}
Para Resorte del marco usuarios. No: org.springframework.util.ResourceUtils#isUrl
Ej
ResourceUtils.isUrl("https://stackoverflow.com/");
- 1. Ruby: ¿Cómo verificar si una cadena es una hora válida?
- 2. C# ¿Cómo puedo verificar si existe una URL/es válida?
- 3. Cómo verificar si la URL es válida en Android
- 4. En python, ¿cómo verificar si una fecha es válida?
- 5. ¿Cuál es la mejor manera de verificar si una cadena contiene una URL en Java/Android?
- 6. ¿Cómo puedo verificar si una BST es válida?
- 7. ¿Cómo verificar si una variable enum es válida?
- 8. compruebe si una cadena es una URL
- 9. Función para verificar si una cadena es una fecha
- 10. Compruebe si una cadena es válida UTF-8 codificada en Java
- 11. Verificar si una cadena es JSON en python?
- 12. ¿Cómo determinar si una cadena es válida JSON?
- 13. ¿Cómo puedo comprobar si una URL es una imagen válida (en javascript)?
- 14. ¿Cómo puedo verificar si una URL es absoluta usando Python?
- 15. C++ comprobar si una fecha es válida
- 16. ¿Cómo verificar si una variable es igual a una cadena u otra cadena?
- 17. ¿Cómo verificar una cadena si es un ASCII o no?
- 18. Cómo verificar si una cadena es de un patrón específico
- 19. ¿Cómo puedo verificar si existe una cadena en una matriz?
- 20. ¿Cómo puedo verificar si existe una cadena en otra cadena?
- 21. determinar si una cadena es URL absoluta o URL relativa en java
- 22. Rieles: ¿es posible verificar si una cadena es binaria?
- 23. Comprobar si la cadena dada es una dirección URL
- 24. ¿Cómo determinar si una cadena es una dirección IPv4 o IPv6 válida en C#?
- 25. En Java, ¿es posible verificar si una Cadena es solo ASCII?
- 26. ¿Puedo verificar si existe un archivo en una URL?
- 27. ¿Cuál es el complicant RFC y trabajando expresión regular para comprobar si una cadena es una URL válida
- 28. Verificar si una cadena comienza con XXXX
- 29. ¿Cómo comprobar rápidamente si el objeto NSString es una URL válida?
- 30. CakePHP - ¿El método de utilidad para verificar una cadena es una dirección de correo electrónico válida?
duplicado posible de [Validación de URL en Java] (http://stackoverflow.com/questions/1600291/validating-url-in-java) –