Commandes Linux

Comment exécuter plusieurs requêtes curl en parallèle

Comment exécuter plusieurs requêtes curl en parallèle
Supposons que vous souhaitiez exécuter plusieurs requêtes curl simultanément pour une raison quelconque, disons 10 requêtes en même temps. Comment feriez-vous? Dans ce tutoriel, nous montrons comment vous pouvez exécuter plusieurs requêtes curly simultanément.

Exécuter des requêtes parallèles à l'aide de la commande xargs

le xargs la commande est une commande dans les systèmes d'exploitation de type Linux et UNIX qui accepte ou prend des arguments à partir d'une entrée standard, puis exécute une commande pour chaque argument. En termes simples, la commande xargs peut prendre la sortie d'une commande et la traiter comme argument d'une commande différente.

Par exemple, dans la commande ci-dessous, xargs prend les arguments sur le côté gauche et crée des répertoires en utilisant les noms d'arguments.

$ echo 'Afrique Asie Europe Amérique' | xargs mkdir

La commande xargs peut également être utilisée pour exécuter plusieurs requêtes simultanément. Si vous consultez les pages de manuel, vous trouverez une section qui vous donne les arguments de ligne de commande comme indiqué ci-dessous.

En utilisant xargs, nous essaierons de commander l'exécution de plusieurs requêtes curl en même temps.

La commande Linux curl est un utilitaire de ligne de commande utilisé pour le transfert de fichiers. Il prend en charge une myriade de protocoles tels que HTTP, HTTPS, FTP, FTPS, SCP, TFTP et bien d'autres.

Supposons que vous souhaitiez obtenir les en-têtes HTTP d'un site Web à l'aide de la commande curl. Pour ce faire, vous devez appeler la commande curl avec l'indicateur -I suivi de l'URL comme indiqué.

$ curl -I "https://linuxways.rapporter"

Maintenant, vous venez d'envoyer une seule demande curl. Supposons que vous vouliez exécuter 5 requêtes parallèles ; comment feriez-vous cela? La solution consiste à utiliser la commande xargs comme indiqué à côté de la commande curl.

$ xargs -I % -P 5 curl -I "https://linuxways.rapporter" < <(printf '%s\n' 1… 10)

L'indicateur -P indique le nombre de requêtes en parallèle. La section <(printf '%s\n' 1… 10) imprime les nombres 1 à 10 et fait exécuter la commande curl 10 fois avec 5 requêtes exécutées en parallèle.

De plus, vous pouvez exécuter la commande ci-dessous pour obtenir le même résultat. Comme pour l'exemple précédent, la commande ci-dessous exécute la commande curl 10 fois avec 5 requêtes en parallèle.

$ seq 1 10 | xargs -n1 -P 5 curl -I "https://linuxways.rapporter"

Prenons un autre exemple. Supposons que vous vouliez télécharger 3 fichiers simultanément à l'aide de la commande curl. La première étape consistera à enregistrer les URL des fichiers en cours de téléchargement sur un fichier texte. Ici, nous avons un fichier texte à télécharger.txt avec les URL suivantes.

Pour télécharger les fichiers simultanément, exécutez la commande suivante :

$ xargs -P 5 -n 1 curl -O < download.txt

La commande boucle chaque ligne du fichier texte 5 fois en parallèle. le -n 1 flag garantit que la commande curl lit une ligne pour chaque exécution de la commande curl.

Et c'est ainsi que vous exécutez plusieurs requêtes curl en parallèle.

Comment modifier les paramètres de la souris et du pavé tactile à l'aide de Xinput sous Linux
La plupart des distributions Linux sont livrées avec la bibliothèque "libinput" par défaut pour gérer les événements d'entrée sur un système. Il peut ...
Remappez les boutons de votre souris différemment pour différents logiciels avec X-Mouse Button Control
Peut-être que vous avez besoin d'un outil qui pourrait faire changer le contrôle de votre souris avec chaque application que vous utilisez. Si tel est...
Examen de la souris sans fil Microsoft Sculpt Touch
J'ai lu récemment sur le Microsoft Sculpt Touch souris sans fil et j'ai décidé de l'acheter. Après l'avoir utilisé pendant un certain temps, j'ai déci...