2009-03-16 4 views
8

J'ai essayé de trouver un moyen pour que wget ne crée un fichier que si la réponse au téléchargement est valide, c'est-à-dire pas 404 ou 500, seulement 200.Créer uniquement un fichier si le statut http 200 avec wget?

Cependant, lorsque vous utilisez l'option -O (pour spécifier le nom de fichier) il créera toujours le fichier, avec le contenu de la page d'erreur, et je n'ai pas trouvé un moyen de spécifier qu'il devrait l'ignorer s'il reçoit un en-tête de réponse 404. Dois-je vérifier le code de sortie et acheminer la sortie ou existe-t-il une meilleure alternative?

Répondre

13

Peut-être est la seule réponse, autre que patcher wget (une option valide):

wget -O somefile.html http://example.com/ || rm somefile.html 
+0

Assez bon, fonctionne pour moi. Merci beaucoup! – jishi

+1

Bonne solution. Bien que je puisse avoir quelque chose à ajouter: J'ai un problème si le fichier de sortie existe - wget n'est pas capable de télécharger car le fichier existe déjà et renvoie une erreur, qui lance le 'rm' et relète le fichier. L'exécution de la ligne alterne entre le téléchargement et la suppression du fichier. – Jervelund

Questions connexes