Estoy buscando una comprobación simple de shell (+ curl) que se evaluaría como verdadera o falsa si existe una URL (devuelve 200) o no.¿Cómo comprobar si existe una URL con el shell y probablemente curl?
Respuesta
El uso de --fail
hará que el estado de salida sea distinto de cero en una solicitud fallida. El uso de --head
evitará descargar el contenido del archivo, ya que no lo necesitamos para este control. El uso de --silent
evitará que el propio cheque emita el estado o los errores.
if curl --output /dev/null --silent --head --fail "$url"; then
echo "URL exists: $url"
else
echo "URL does not exist: $url"
fi
Si el servidor rechaza peticiones HEAD, una alternativa es solicitar sólo el primer byte del archivo:
if curl --output /dev/null --silent --fail -r 0-0 "$url"; then
me parece wget para ser una mejor herramienta para esto que RIZO; hay menos opciones para recordar y puedes verificar su valor de verdad en bash para ver si tuvo éxito o no de manera predeterminada.
if wget --spider http://google.com 2>/dev/null; then
echo "File exists"
else
echo "File does not exist"
fi
La opción --spider
hace wget sólo comprueban el archivo en lugar de descargarlo, y 2> /dev/null
silencios de wget salida stderr.
El "realmente puede verificar su valor de verdad en bash" no es exclusivo de wget; con '--fail', uno puede hacer lo mismo con curl. –
Es por eso que dije "por defecto". Intenta ejecutar 'wget google.com/asdf' y' curl google.com/asdf'. 'curl' devuelve EXIT_SUCCESS de forma predeterminada cuando se produce un error 404, mientras que' wget' devuelve EXIT_FAILURE. – ailnlv
Esta solución funciona mejor para mí, al menos – raffi
- 1. ¿Cómo comprobar si existe una imagen con una URL determinada?
- 2. Comprobar si existe una URL en Ruby
- 3. Cómo comprobar si existe un archivo desde una url
- 4. ¿Cómo comprobar si existe cadena en el archivo con el shell Bash?
- 5. Cómo comprobar si NSUserDefaults existe
- 6. ¿Cómo comprobar si cronjob existe con PHP?
- 7. ¿Cómo comprobar si existe una ventana hija?
- 8. Guión de shell para comprobar si existe un directorio y si no crearlo?
- 9. ¿Cómo comprobar si existe niño
- 10. Comprobar si existe tabla
- 11. Comprobar si existe sesión JSF
- 12. ¿Cómo comprobar si existe una URL o devuelve 404 con Java?
- 13. Comprobar si existe recurso
- 14. ¿Cómo comprobar si el directorio existe usando C++ y Winapi
- 15. cómo comprobar si el objeto ya existe en una lista
- 16. Comprobando si existe una URL o no
- 17. Comprobar si existe una clave en Memcache
- 18. php: comprobar si existe una ruta?
- 19. Comprobar si existe un correo electrónico con TELNET y PHP
- 20. Comprobar el progreso de cURL
- 21. iPhone: ¿Cómo comprobar si existe una subcadena en una cadena?
- 22. Cakephp comprobar si existe registro
- 23. ¿Cómo comprobar si existe una palabra en una frase
- 24. as3 xml comprobar si el elemento existe
- 25. Comprobar si existe el archivo sin crear
- 26. XPath: ¿Cómo comprobar si existe un atributo?
- 27. ¿Cómo comprobar si curl tiene soporte para ssl?
- 28. Cómo comprobar si existe un enlace simbólico
- 29. ¿Cómo comprobar si existe imagen en Rails?
- 30. cómo comprobar si el urllib2 sigue una redirección?
Incluir '-o/dev/null' para suprimir la impresión del encabezado a stdout –
@ShawnChin Buena llamada, gracias. –
Genial .... Está funcionando bien.Gracias –