Cómo configurar el tiempo de espera en cURL

rizo es una excelente herramienta para comunicaciones de red, significa ‘URL de cliente’. Prácticamente todos los dispositivos utilizan cURL en el mundo que se conecta a Internet. El uso más amplio de cURL es descargar archivos desde un servidor remoto en la terminal.

La fase inicial de conexión a un servidor para cualquier tipo de comunicación es esperar una respuesta. El retraso puede ocurrir debido a una gran variedad de razones, algunas de ellas son la carga en el servidor, el ancho de banda de la red, la latencia, la inestabilidad, etc.

Si el retraso es mayor de lo que le gustaría esperar, puede especificar una duración de ‘tiempo de espera’.

El mejor método para lograr esto es usando el --connect-timeout opción.

curl --connect-timeout <duration> <URL>

Puede especificar el tiempo de espera en segundos (p. ej., 5), en milisegundos (p. ej., 0,001) o como una combinación de segundos y milisegundos (p. ej., 4,20) y curl utilizará ese tiempo como el tiempo máximo para una respuesta hasta que se corte la conexión.

Para obtener más información sobre cómo configurar un tiempo de espera máximo en cURL,

Use la opción ‘–connect-timeout’

cURL tiene un indicador opcional ‘–connect-timeout’ donde puede especificar la duración en segundos. Si tiene una versión de cURL que es 7.32.0 o posterior, también puede especificar la duración como valores decimales.

El valor que especifique establecerá la duración máxima de tiempo para esperar una respuesta del servidor remoto.

A continuación se muestra un example de cómo puede usar el indicador ‘–connect-timeout’:

curl --connect-timeout 4.2 https://linuxhandbook.com

El uso de ‘4.2’ junto con el indicador ‘–connect-timeout’ significa que cURL intentará conectarse a ‘linuxhandbook.com’ y si tarda más de 4,2 segundos, la conexión finalizará.

Una opción alternativa, ‘–max-time’

El indicador ‘–max-time’ se usa cuando realiza varias operaciones en un lote. Este indicador establecerá la duración de toda la operación, como descargar un archivo grande. Por lo tanto, si la operación, como la descarga de un archivo, lleva más tiempo del especificado, finalizará la operación.

$ curl --max-time 20 https://github.com/aristocratos/btop/releases/download/v1.2.3/btop-aarch64-linux-musl.tbz

Este example del uso de cURL descargará un archivo. Cuando el tiempo total de ‘conexión al servidor’ + ‘tiempo para descargar el archivo’ es superior a los 20 segundos que especificamos aquí, la descarga finalizará.

En este caso, el tamaño del archivo es demasiado pequeño para que la descarga tarde más de 20 segundos, por lo que el comando se ejecutará correctamente.

Conclusión

Este artículo cubre cómo puede establecer una duración máxima (tiempo de espera) para el tiempo de conexión al servidor remoto o un tiempo de espera para toda la operación de la red.

Si está interesado en aprender más sobre cURL, hemos cubierto algunos de los usos más comunes de cURL aquí en el Manual de Linux.

Related Posts