J'utilise un outil pour contrôler si la page Web est opérationnelle.
L'outil utilise la commande curl
en interne pour récupérer la sortie.
Cependant, lorsqu'une page Web met plus de temps à répondre, elle renvoie une erreur TIMEOUT
. Il n'y a aucun moyen d'augmenter le délai d'expiration de l'outil.
Existe-t-il un moyen de définir/modifier le délai d'expiration d'une réponse à partir d'une page Web?
Y a-t-il une variable qui peut être modifiée?
Vous pouvez utiliser -m
option:
-m, --max-time <seconds>
Maximum time in seconds that you allow the whole operation to
take. This is useful for preventing your batch jobs from hang‐
ing for hours due to slow networks or links going down. See
also the --connect-timeout option.
If this option is used several times, the last one will be used.
Cela inclut le temps de se connecter, si vous souhaitez le spécifier séparément, utilisez --connect-timeout
option.
curl a une option "timeout de connexion":
--connect-timeout <seconds>
Si votre "outil" est un script, vous pouvez le modifier manuellement à cet endroit. Mais https://unix.stackexchange.com/a/148926/77959 est encore mieux - éditez la configuration de boucle!
Normalement, vous le feriez avec une option sur la ligne de commande lorsque curl
est invoqué. Mais comme vous ne pouvez pas changer cela, il existe une autre façon - vous pouvez créer un fichier de configuration pour curl
. Sous unix, curl
recherchera d'abord dans le répertoire personnel de l'utilisateur qui exécute curl un fichier appelé .curlrc
. Créez ce fichier avec la ligne
connect-timeout = 10
pour réduire le délai à 10 secondes. Ou vous pouvez définir une durée maximale pour toute l'opération, avec l'option max-time
:
max-time = 10
Depuis Curl
, vous pouvez utiliser cette option --connect-timeout
: Durée maximale en secondes pendant laquelle vous autorisez la connexion au serveur. Cela ne limite que la phase de connexion, une fois que curl
a connecté cette option n'est plus utile. Voir aussi le --max-time
option.