Comment puis-je vérifier si une chaîne est une URL en Java?Comment vérifier si une chaîne en Java est une URL valide
Répondre
Vous pouvez essayer de créer un objet java.net.URL
hors de celui-ci. Si ce n'est pas une URL correcte, un MalformedURLException
sera lancé.
Pour être clair , il ne lancerait qu'une MalformedURLException 'si aucun protocole n'est spécifié, ou si un protocole inconnu est trouvé'. Contrairement à UrlValidator d'Apache, aucune validation supplémentaire n'est effectuée. – dogbane
Il exécute également d'autres vérifications, par ex. numéros de port. – Grodriguez
Je l'ai cité dans le fichier javadocs http://download.oracle.com/javase/6/docs/api/java/net/URL.html. Ils n'indiquent aucun autre contrôle. – dogbane
Vous pouvez utiliser UrlValidator
de commons-validator. Cela vous évitera d'écrire du code où le flux logique est guidé par la mise en cache d'une exception, ce qui est généralement considéré comme une mauvaise pratique. Dans ce cas, cependant, je pense qu'il est bien de faire comme d'autres ont suggéré, si vous déplacez cette fonctionnalité à une méthode utilitaire appelé isValidUrl(..)
+1 pour être différent :) – willcodejavaforfood
pas besoin de dupliquer les réponses des autres;) – Bozho
il ne permettra pas les caractères de soulignement dans le nom d'hôte –
Complétant réponse Bozho, d'aller plus pratique:
- communes Télécharger apache package et décompressez-le.
- Inclure commons-validateur-1.4.0.jar dans votre chemin de compilation java.
test avec cet exemple de code (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
Si vous programmez dans Android, vous pouvez utiliser android.webkit.URLUtil
pour tester.
URLUtil.isHttpUrl(url)
URLUtil.isHttpsUrl(url)
Espérons que ce serait utile.
Cela ne vérifie pas réellement si c'est une url il vérifie seulement s'il y a http: // au début, ce dont vous avez besoin avec c'est URLUtil.isValidUrl (url) –
Quick heads up que ça s'appelle URLUtil ... pas URLUtil * S *. – Tommie
Cette fonction valide une URL, et renvoie true (URL valide) ou faux (URL non valide).
public static boolean isURL(String url) {
try {
new URL(url);
return true;
} catch (Exception e) {
return false;
}
}
Assurez-vous de import java.net.URL;
Pour Android il suffit d'ajouter cette ligne:
boolean isValid = URLUtil.isValidUrl("your.uri");
Ici, vous allez:
public static boolean isValidURL(String urlString)
{
try
{
URL url = new URL(urlString);
url.toURI();
return true;
} catch (Exception exception)
{
return false;
}
}
Pour Spring Framework utilisateurs. Il y a: org.springframework.util.ResourceUtils#isUrl
Par exemple,
ResourceUtils.isUrl("https://stackoverflow.com/");
- 1. Comment vérifier si une valeur donnée est une URL valide
- 2. Ruby: Comment vérifier si une chaîne est une heure valide?
- 3. La meilleure façon de vérifier si une URL est valide
- 4. Existe-t-il une méthode en C# pour vérifier si une chaîne est un identificateur valide
- 5. Comment puis-je vérifier si une poignée MATLAB est valide?
- 6. Comment vérifier si une adresse mail est valide?
- 7. Comment vérifier si une vue est valide iphone
- 8. Comment vérifier si la chaîne d'entrée est une chaîne VB valide?
- 9. Comment vérifier si une connexion d'échange est valide? (via ews)
- 10. vérifier si une chaîne est un double
- 11. Comment vérifier si un pointeur est valide?
- 12. Comment vérifier si l'email est valide?
- 13. Existe-t-il une bibliothèque ruby pour vérifier si une chaîne est un mot valide?
- 14. Comment déterminer si une chaîne est JSON valide?
- 15. Teste si une chaîne est codée en URL dans PHP
- 16. Comment puis-je vérifier si une chaîne est un md5 valide ou une chaîne somme de contrôle SHA1
- 17. Comment vérifier si la variable est une chaîne CFString?
- 18. javascript vérifier si img src est valide?
- 19. vérifier si la connexion mysql est valide
- 20. Comment vérifier une chaîne si elle est ASCII ou non?
- 21. Comment vérifier si une chaîne est vide dans Emacs Lisp?
- 22. Identifier si une URL est présente dans une chaîne
- 23. asp.net: vérifier si la session est valide
- 24. Comment vérifier si la session asp est valide?
- 25. Applescript: vérifier si une chaîne contient une chaîne vide?
- 26. Comment vérifier que l'URL est valide dans Java 1.6?
- 27. Vérifier si une URL existe ou non
- 28. Comment déterminer si un caractère est une lettre en Java?
- 29. Comment obtenir une URL valide à partir de la chaîne?
- 30. vérifier une chaîne si avoir un mot
double possible de [en Java Validation de l'URL] (http://stackoverflow.com/questions/1600291/validating-url-in-java) –