Come posso verificare se una stringa è un URL in Java?Come verificare se una stringa in Java è un URL valido
risposta
Si può provare a creare un oggetto java.net.URL
. Se non si tratta di un URL appropriato, verrà lanciato un MalformedURLException
.
Giusto per essere chiari , genererebbe solo una MalformedURLException 'se non viene specificato alcun protocollo o viene trovato un protocollo sconosciuto '. A differenza di UrlValidator di Apache, non viene eseguita alcuna convalida aggiuntiva. – dogbane
Effettua anche altri controlli, ad es. numeri di porta. – Grodriguez
L'ho citato dal javadocs http://download.oracle.com/javase/6/docs/api/java/net/URL.html. Non dichiarano altri assegni. – dogbane
È possibile utilizzare UrlValidator
da commons-validator. Ti eviterà di scrivere codice in cui il flusso logico è guidato dalla memorizzazione nella cache di un'eccezione, che è generalmente considerata una cattiva pratica. In questo caso, però, penso che sia bene fare come altri hanno suggerito, se si sposta questa funzionalità a un metodo di utilità chiamato isValidUrl(..)
+1 per essere diversi :) – willcodejavaforfood
non è necessario duplicare le risposte degli altri;) – Bozho
non consentirà i caratteri di sottolineatura nel nome host –
complemento risposta Bozho, di andare più pratico:
- Scarica Apache Commons package e decomprimilo.
- Include commons-validator-1.4.0.jar nel percorso di configurazione java.
prova con questo codice di esempio (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"); }
Run/Debug
Se si programma in Android, è possibile utilizzare android.webkit.URLUtil
per testare.
URLUtil.isHttpUrl(url)
URLUtil.isHttpsUrl(url)
Spero che sarebbe utile.
Questo in realtà non verifica se è un URL controlla solo se c'è http: // all'inizio, ciò di cui hai bisogno è URLUtil.isValidUrl (url) –
Quick heads up che si chiama URLUtil ... non URLUtil * S *. – Tommie
Questa funzione convalida un URL e restituisce true (URL valido) o falso (URL non valido).
public static boolean isURL(String url) {
try {
new URL(url);
return true;
} catch (Exception e) {
return false;
}
}
Assicurarsi di import java.net.URL;
per Android è sufficiente aggiungere questa linea:
boolean isValid = URLUtil.isValidUrl("your.uri");
Qui si va:
public static boolean isValidURL(String urlString)
{
try
{
URL url = new URL(urlString);
url.toURI();
return true;
} catch (Exception exception)
{
return false;
}
}
Per Spring Framework utenti. C'è: org.springframework.util.ResourceUtils#isUrl
Eg
ResourceUtils.isUrl("https://stackoverflow.com/");
- 1. Come verificare se una stringa è un URL HTTP valido?
- 2. Come verificare rapidamente se l'oggetto NSString è un URL valido?
- 3. Verificare se una stringa contiene solo un URL in PHP
- 4. controlla se una stringa è un URL
- 5. Esiste un metodo in C# per verificare se una stringa è un identificatore valido
- 6. Qual è il modo migliore per verificare se una stringa contiene un URL in Java/Android?
- 7. Come verificare se un puntatore è valido?
- 8. Controlla se un URL è valido in elisir
- 9. Come verificare se una stringa è un XML valido senza visualizzazione di un avviso in PHP
- 10. Come verificare se una stringa è bilanciata?
- 11. Come verificare se un tipo è una stringa in C#?
- 12. Come verificare se il nome della classe è valido?
- 13. Come posso verificare se una stringa è un float?
- 14. Come verificare se un file è un file immagine valido?
- 15. Verificare se un valore è una stringa in Coldfusion
- 16. come verificare se un file jar è valido?
- 17. Come verificare una stringa se è un ASCII o no?
- 18. Verificare se una stringa è JSON in python?
- 19. Come verificare se una stringa contiene un int? -SWIFT
- 20. Verificare se una stringa contiene una particolare stringa in Velocity
- 21. Verificare una stringa come UUID valido in Swift
- 22. Come verificare se una stringa è nullo in python
- 23. Come verificare se una stringa è vuota in Elixir
- 24. Il modo più semplice per verificare se una stringa arbitraria è un nome file valido
- 25. Verificare se un percorso è valido in Python
- 26. Come verificare se il percorso è valido in boost :: filesystem?
- 27. Come posso verificare se una stringa è un IP in Groovy?
- 28. In C#, come verificare se una stringa contiene un intero?
- 29. URL valido stringa come NSUrl diventa null
- 30. Come posso verificare se un URL è assoluto usando Python?
Eventuali duplicati di [Convalida URL in Java] (http://stackoverflow.com/questions/1600291/validating-url-in-java) –