Recherche de site Web

Comment limiter le temps de demande curl


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

Lors de l'exécution de la commande curl, vous pouvez spécifier l'option -m ou --max-time pour définir une limite de temps stricte pour la requête. 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-time [seconds] [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.

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 l'option --connect-timeout. Cela définit un délai maximum pour que curl termine les étapes de connexion, y compris la 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.

Articles connexes: