2012-07-12 18 views
14

Estoy usando un curl de línea de comandos y curiosamente no pude encontrar un parámetro de tiempo de espera para curl de línea de comando. Leí las páginas man para curl y busqué en Google pero todavía no pude encontrar ninguna. El libcurl tiene parámetros de tiempo de espera (CURLOPT_TIMEOUT) pero eso no es lo que estoy buscando. Estoy buscando el parámetro de tiempo de espera de curva de línea de comandos.línea de comando curl timeout parámetro

Hay un parámetro --max-time que es la cantidad máxima de tiempo para mantener la conexión abierta y --connect-timeout que es para la fase de conexión de curl, pero ninguna para el tiempo de espera normal.

¿Alguien conoce este parámetro?

+0

¿Qué quiere decir con "tiempo de espera normal". – msw

+0

dicen que estoy tratando de descargar un archivo grande con curl y digo que demora 1 hora en descargarse. Por lo tanto, debo establecer el tiempo de espera en más de 1 hora. Ese es el tiempo de espera al que me refiero. – user1519575

Respuesta

4

En un * x, tiene el comando timeout. intente:

timeout -s SIGTERM 3600 curl --your arguments here 

envíe un SIGTERM después de 3600 segundos para finalizar si, si lo respeta. Siempre mejor que un SIGKILL brutal por defecto que puede corromper el archivo descargado al 99%: ¬)

+1

Dos problemas con esto. (1) este tiempo de espera se aplicará a toda la operación curl, incluida la resolución de DNS, la conexión y la espera de respuesta. El uso de los parámetros '--connect-timeout' y' --max-time' proporciona un control más granular y mantiene el flujo de control en 'curl'; y (2) en cada * nix que revisé, la sintaxis correcta es '-s SIGTERM' o' --signal = SIGTERM', no '-SIGTERM'. –

+0

gracias, arreglé la parte -s –

29

La opción --max-time hace exactamente lo que necesita: "Tiempo máximo permitido para la transferencia". Simplemente piensas mal al respecto.

Cuestiones relacionadas