Comandi Linux

Come eseguire più richieste di curl in parallelo

Come eseguire più richieste di curl in parallelo
Supponiamo di voler eseguire più richieste curl contemporaneamente per qualsiasi motivo, diciamo 10 richieste contemporaneamente. Come faresti?? In questo tutorial, dimostriamo come è possibile eseguire più richieste curly contemporaneamente.

Esegui richieste parallele usando il comando xargs

Il xargs comando è un comando nei sistemi operativi simili a Linux e UNIX che accetta o prende argomenti dall'input standard e quindi esegue un comando per ogni argomento. In poche parole, il comando xargs può prendere l'output di un comando ed elaborarlo come argomento di un comando diverso.

Ad esempio, nel comando seguente, xargs prende gli argomenti sul lato sinistro e crea directory usando i nomi degli argomenti.

$ echo 'Africa Asia Europa America' | xargs mkdir

Il comando xargs può essere utilizzato anche per eseguire più richieste contemporaneamente. Se controlli le pagine man, troverai una sezione che ti fornisce gli argomenti della riga di comando come indicato di seguito.

Usando xargs, proveremo a comandare l'esecuzione di più richieste curl contemporaneamente.

Il comando Linux curl è un'utilità della riga di comando utilizzata per il trasferimento di file. Fornisce supporto per una miriade di protocolli come HTTP, HTTPS, FTP, FTPS, SCP, TFTP e molti altri.

Supponiamo di voler ottenere le intestazioni HTTP di un sito Web utilizzando il comando curl. Per fare ciò, dovresti invocare il comando curl con il flag -I seguito dall'URL come mostrato.

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

Ora, hai appena inviato una singola richiesta di curl. Supponiamo di voler eseguire 5 richieste parallele; come faresti a riguardo?? La soluzione a questo è usare il comando xargs come mostrato accanto al comando curl.

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

Il flag -P indica il numero di richieste in parallelo. La sezione <(printf '%s\n' 1… 10) stampa i numeri da 1 a 10 e fa in modo che il comando curl venga eseguito 10 volte con 5 richieste in esecuzione in parallelo.

Inoltre, puoi eseguire il comando seguente per ottenere lo stesso risultato. Come nell'esempio precedente, il comando seguente esegue il comando curl 10 volte con 5 richieste in parallelo.

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

Facciamo un altro esempio. Supponiamo di voler scaricare 3 file contemporaneamente usando il comando curl. Il primo passo sarà salvare gli URL dei file da scaricare su un file di testo. Qui abbiamo un download di file di testo.txt con i seguenti URL.

Per scaricare i file contemporaneamente, eseguire il seguente comando:

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

Il comando arriccia ogni riga nel file di testo 5 volte in parallelo. Il -n 1 flag assicura che il comando curl legga una riga per ogni esecuzione del comando curl.

Ed è così che esegui più richieste di curl in parallelo.

Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...
Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...
Aggiungi i gesti del mouse a Windows 10 utilizzando questi strumenti gratuiti
Negli ultimi anni computer e sistemi operativi si sono notevolmente evoluti greatly. C'è stato un tempo in cui gli utenti dovevano usare i comandi per...