Tengo que recuperar algunos datos usando la utilidad curl linux. Hay dos casos, una solicitud es exitosa y la segunda no. Quiero guardar la salida en un archivo si la solicitud es exitosa y si la solicitud falla debido a algún motivo, entonces el código de error debe guardarse solo en un archivo de registro. He buscado mucho en www pero no pude encontrar la solución exacta, por eso publiqué una nueva pregunta en curl.

0
Hafiz Muhammad Shafiq 13 dic. 2016 a las 08:33

2 respuestas

La mejor respuesta

Una opción es obtener el código de respuesta con -w, por lo que podría hacerlo de una forma como

code=$(curl -s -o file -w '%{response_code}' http://example.com/)
if test "$code" != "200"; then
   echo $code >> response-log
else
   echo "wohoo 'file' is fine"
fi
3
Daniel Stenberg 13 dic. 2016 a las 08:26
curl -I -s -L <Your URL here> | grep "HTTP/1.1"

Curl + grep es su amigo, luego puede extraer el código de estado más tarde para su necesidad.

3
Bopmaster 13 dic. 2016 a las 07:58