Java - le moyen le plus Rapide pour vérifier si l'URL existe
Salut, je suis en train d'écrire un programme qui passe par de nombreuses différentes URLs et vérifie juste si ils existent ou non. Je suis fondamentalement de vérifier si le code d'erreur retourné est 404 ou pas. Cependant comme je suis la vérification de plus de 1000 URLs, je veux être capable de faire cela très rapidement. Voici mon code, je me demandais comment je peut le modifier pour travailler rapidement (si possible):
final URL url = new URL("http://www.example.com");
HttpURLConnection huc = (HttpURLConnection) url.openConnection();
int responseCode = huc.getResponseCode();
if (responseCode != 404) {
System.out.println("GOOD");
} else {
System.out.println("BAD");
}
Serait-il plus rapide d'utiliser JSoup?
Je suis conscient que certains sites donnent le code 200 et disposent de leur propre page d'erreur, je sais cependant les liens que je suis la vérification de ne pas le faire, donc ce n'est pas nécessaire.
Vous devez vous connecter pour publier un commentaire.
Essayer d'envoyer une "TÊTE" demande à la place de la requête get. Qui devrait être plus rapide depuis le corps de la réponse n'est pas téléchargé.
De nouveau au lieu de vérifier si le statut de la réponse n'est pas 400, vérifier si elle est 200. C'est-à vérifier pour le positif plutôt que négatif. 404,403,402.. tous 40x statuts sont à peu près équivalent à non valide non existant url.
Vous pouvez faire usage de multi-threading pour le rendre encore plus rapide.
Essayer de demander au Serveur DNS suivant
Semble que vous pouvez définir le délai d'attente de la propriété, assurez-vous qu'il est acceptable. Et si vous avez de nombreuses adresses de test, le faire en parallèle, il sera beaucoup plus rapide. Espérons que ce sera utile.