Comandos de Linux

Cómo ejecutar múltiples solicitudes de curl en paralelo

Cómo ejecutar múltiples solicitudes de curl en paralelo
Suponga que desea ejecutar varias solicitudes de curl al mismo tiempo por cualquier motivo, digamos 10 solicitudes al mismo tiempo. ¿Cómo lo harías?? En este tutorial, demostramos cómo puede ejecutar múltiples solicitudes curly al mismo tiempo.

Ejecute solicitudes paralelas con el comando xargs

La xargs comando es un comando en sistemas operativos Linux y UNIX que acepta o toma argumentos de la entrada estándar y luego ejecuta un comando para cada argumento. En pocas palabras, el comando xargs puede tomar la salida de un comando y procesarlo como un argumento de un comando diferente.

Por ejemplo, en el siguiente comando, xargs toma los argumentos del lado izquierdo y crea directorios usando los nombres de los argumentos.

$ echo 'África Asia Europa América' | xargs mkdir

El comando xargs también se puede utilizar para ejecutar varias solicitudes al mismo tiempo. Si revisa las páginas de manual, encontrará una sección que le brinda los argumentos de la línea de comandos como se indica a continuación.

Usando xargs, intentaremos ordenar la ejecución de múltiples solicitudes de curl al mismo tiempo.

El comando curl de Linux es una utilidad de línea de comandos que se utiliza para la transferencia de archivos. Proporciona soporte para una gran variedad de protocolos como HTTP, HTTPS, FTP, FTPS, SCP, TFTP y muchos más.

Suponga que desea obtener los encabezados HTTP de un sitio web mediante el comando curl. Para hacer esto, necesitaría invocar el comando curl con la bandera -I seguida de la URL como se muestra.

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

Ahora, acaba de enviar una única solicitud de curl. Suponga que desea ejecutar 5 solicitudes en paralelo; Cómo haría usted para esto? La solución a esto es usar el comando xargs como se muestra junto con el comando curl.

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

La bandera -P indica el número de solicitudes en paralelo. La sección <(printf '%s\n' 1… 10) imprime los números del 1 al 10 y hace que el comando curl se ejecute 10 veces con 5 solicitudes ejecutándose en paralelo.

Además, puede ejecutar el siguiente comando para lograr el mismo resultado. Al igual que en el ejemplo anterior, el siguiente comando ejecuta el comando curl 10 veces con 5 solicitudes en paralelo.

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

Tomemos otro ejemplo. Suponga que desea descargar 3 archivos simultáneamente usando el comando curl. El primer paso será guardar las URL de los archivos para que no se descarguen en un archivo de texto. Aquí, tenemos una descarga de archivo de texto.txt con las siguientes URL.

Para descargar los archivos al mismo tiempo, ejecute el siguiente comando:

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

El comando riza cada línea en el archivo de texto 5 veces en paralelo. La -n 1 flag asegura que el comando curl lee una línea por cada ejecución del comando curl.

Y así es como ejecutas múltiples solicitudes de curl en paralelo.

Cómo capturar y transmitir su sesión de juego en Linux
En el pasado, los juegos solo se consideraban un pasatiempo, pero con el tiempo la industria del juego experimentó un gran crecimiento en términos de ...
Los mejores juegos para jugar con el seguimiento de manos
Oculus Quest presentó recientemente la gran idea del seguimiento manual sin controladores. Con un número cada vez mayor de juegos y actividades que ej...
Cómo mostrar la superposición de OSD en aplicaciones y juegos de Linux en pantalla completa
Jugar juegos en pantalla completa o usar aplicaciones en modo de pantalla completa sin distracciones puede aislarlo de la información relevante del si...