2009-03-16 14 views
8

que han estado tratando de encontrar una manera de hacer que wget sólo crean un archivo si la respuesta de descarga real es válida, es decir, no hay código 404 o 500 de estado, solamente 200.¿Crear solo archivo si el estado de http 200 con wget?

Sin embargo, cuando se utiliza la opción -O (para especificar el nombre del archivo) siempre creará el archivo, con el contenido de la página de error, y no he encontrado una manera de especificar que debe ignorarlo si recibe un encabezado de respuesta 404.

¿Debo verificar el código de salida y canalizar la salida o hay una mejor alternativa?

Respuesta

13

Quizás esta es la única respuesta, aparte de parcheo wget (una opción válida):

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

Bueno, que funciona para mí. ¡Gracias un montón! – jishi

+1

Buena solución. Aunque podría tener algo que agregar: tengo un problema si el archivo de salida existe - wget no se puede descargar porque el archivo ya existe y devuelve un error, que ejecuta la 'rm' y vuelve a marcar el archivo. Al ejecutar la línea, se alterna entre descargar y eliminar el archivo. – Jervelund

Cuestiones relacionadas