9
votes

Vérifier si une URL existe ou non

Je dois vérifier si une URL existe ou non. Je veux écrire un servlet pour cela. Pour vérifier si une URL existe ou non. Si l'URL entrée n'existe pas, il devrait renvoyer un message.


1 commentaires

Une URL ne peut en général pas être dit de ne pas exister.


4 Réponses :


0
votes

Vous pouvez créer une connexion, récupérer le flux d'entrée et vérifier NULL.


0 commentaires

26
votes

meilleure solution pour http: xxx

Si vous recherchez une autre URL, essayez ce code xxx

Source < / strong>: http: //www.rgagnon.com/javadetails/java-0059.html


11 commentaires

http n'est pas le seul protocole / schéma dans une URL.


@Michael Konietzka mise à jour répond probablement à votre commentaire


J'ai besoin d'utiliser httpClient et ses méthodes pour vérifier l'existence de l'URL peuvent vous dire s'il vous plaît expliquer comment utiliser httpClient Service.J'ai essayé d'écrire ce service dans une servette, mais elle donne une exception.


@ ha22109 Si vous ne préoccupez que HTTP, le premier code devrait fonctionner parfaitement pour vous.


Qu'en est-il de mailto: exemple@example.com ?


@Michael Konietzka par URL Je veux dire que l'adresse sur certaines ressources ci-dessus ne peut pas être vérifiée pour la validité, dans de tels cas, vous devez contacter @ Exemple.com


Mais est une URL valide qui existe. ;-)


@Michael Konietzka op est simplement inquiet du protocole HTTP :) Il n'est pas donné dans la liste des exigences;)


Je ne peux pas voir cela dans les exigences. ;-) OP parle d'URL en général. ;-). De plus, l'interprétation de existe n'est pas claire. Que signifie existence d'une URL? De mon point de vue, l'URL existe déjà lorsque je l'écrivais vers le temps, le REEE le crée. Peut-être que l'OP voulait juste savoir si une ressource HTTP représentée par une URL HTTP serait accessible pour lui, mais ce n'était pas ce que l'OP a demandé. ;-)


@Michael Konietzka Du commentaire de OP dans le même thread Il est clair qu'il souhaite poser des questions sur le protocole HTTP, il lui a demandé globalement


@ org.life.java: mon dernier commentaire contenait une note ironique basée sur mon humeur de la nuit du dimanche, perdue lors du transport via http. ;-)



1
votes

Vous pouvez essayer la méthode de la tête de HTTP pour voir si le serveur renvoie un code d'état de 200 sur une URL particulière et agissez en conséquence.

voir http://en.wikipedia.org/wiki/hypertext_transfer_protocol et faites défiler jusqu'à les méthodes de requête .


0 commentaires

-2
votes

J'ai utilisé ce script Bash pour vérifier les URL, mais j'ai besoin de mettre tous les fichiers dans un fichier "URLS.CSV"

#!/bin/bash

###############################################
# mailto: ggerman@gmail.com
# checkurls
# https://github.com/ggerman/checkurls/
# require curl
###############################################

url() {
  cat urls.csv | 
  replace  | 
  show
}

replace() {
  tr ',' ' '
}

show() {
  awk '{print $1}'
}

url | \
while read CMD; do
  echo $CMD
  curl -Is $CMD | head -n 1
done


1 commentaires

J'ai bownvoché, car la question est étiquetée avec Java