Il est souvent préférable d’échouer rapidement plutôt que d’attendre dans l’espoir de réussir.

Lorsqu’il s’agit de faire des requêtes Web, le timing est crucial. Personne n'aime attendre indéfiniment qu'une page Web se charge ou qu'un serveur réponde. Si vous utilisez curl pour récupérer des données sur le Web, vous serez heureux de savoir qu'il existe des moyens de limiter le temps que prennent vos requêtes.

Voici comment limiter le temps de requête curl pour vous assurer de garder le contrôle de vos opérations de récupération de données.

Méthode 1: utilisation de l'option --max-time

Alors que exécuter la commande curl, vous pouvez spécifier le -m ou --max-temps possibilité de fixer un délai strict pour la demande. Cette option vous permet de spécifier le temps maximum, en secondes, que vous êtes prêt à laisser à la commande avant qu'elle ne se termine avec un code d'erreur de délai d'attente (28) :

curl --max-timе [sеconds] [URL]

Vous pouvez définir le maximum avec une précision décimale, où 0,3 signifie 300 millisecondes, 5,46 équivaut à 5 460 millisecondes et 20 signifie 20 secondes.

instagram viewer

Par exemple:

curl -o test.md --max-time 30 https://github.com/test/file1

Cette commande envoie une requête à l'URL GitHub fournie. Il enregistrera les données de réponse sous test.md et se terminera dans un délai maximum de 30 secondes.

Méthode 2: utilisation de l'option --connect-timeout

Pour contrôler le temps que curl passe à essayer de se connecter à un hôte, utilisez le --connect-timeout option. Cela définit un délai maximum pour que curl termine les étapes de connexion, y compris Recherche DNS et les négociations TCP, TLS ou QUIC ultérieures.

Si curl ne parvient pas à établir une connexion dans le délai que vous spécifiez, il se terminera avec un code d'erreur de délai d'attente (28) :

curl --connect-timeout [seconds] [URL]

Par exemple:

curl -o test.md --connect-time 20 https://github.com/test/file

Ici, la commande curl récupère le fichier spécifié dans l'URL, l'enregistre sous test.md et impose une limite de 20 secondes pour établir la connexion avec le serveur.

Contrôler les requêtes de boucle pour une récupération rapide

Dans un monde où le temps, c'est de l'argent, être capable de limiter le temps de demande de curl est une compétence pratique. Que vous choisissiez l'option --connect-timeout ou --max-time, vous prenez en charge vos tâches de récupération de données. Alors, fini l’attente interminable, il est temps de faire des requêtes web efficaces et maîtrisées.

La prochaine fois que vous attendrez la fin d'une requête curl, souvenez-vous de ces méthodes et faites fonctionner curl selon vos conditions.