Ukazi za Linux

Kako vzporedno izvajati več zahtev za curl

Kako vzporedno izvajati več zahtev za curl
Recimo, da želite hkrati iz kakršnega koli razloga zagnati več zahtev za kodranje, recimo 10 zahtev hkrati. Kako bi se lotili tega?? V tej vadnici prikazujemo, kako lahko hkrati izvajate več kodrastih zahtev.

Zaženite vzporedne zahteve z ukazom xargs

The xargs command je ukaz v operacijskih sistemih, podobnih Linuxu in UNIX-u, ki sprejema ali jemlje argumente iz standardnega vhoda in nato za vsak argument zažene ukaz. Preprosto povedano, ukaz xargs lahko sprejme izhod ukaza in ga obdela kot argument drugega ukaza.

Na primer, v spodnjem ukazu xargs vzame argumente na levi strani in ustvari imenike z imeni argumentov.

$ echo 'Afrika Azija Evropa Amerika' | xargs mkdir

Ukaz xargs lahko uporabite tudi za sočasno izvajanje več zahtev. Če preverite strani, boste našli razdelek z argumenti ukazne vrstice, kot je navedeno spodaj.

Z uporabo xargs bomo poskušali ukazati izvajanje več zahtev za curl hkrati.

Ukaz Linux curl je pripomoček ukazne vrstice, ki se uporablja za prenos datotek. Zagotavlja podporo za nešteto protokolov, kot so HTTP, HTTPS, FTP, FTPS, SCP, TFTP in toliko drugih.

Recimo, da želite z ukazom curl dobiti glave HTTP spletnega mesta. Če želite to narediti, morate poklicati ukaz curl z zastavico -I, ki ji sledi URL, kot je prikazano.

$ curl -I "https: // linuxways.mreža"

Zdaj ste pravkar poslali eno samo zahtevo za kodranje. Recimo, da želite izvršiti 5 vzporednih zahtev; kako bi se lotili tega? Rešitev tega je uporaba ukaza xargs, kot je prikazano poleg ukaza curl.

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

Oznaka -P označuje število zahtev vzporedno. Odsek <(printf '%s\n' 1… 10) izpiše številke 1 - 10 in povzroči, da se ukaz curl zažene 10-krat, vzporedno pa se izvaja 5 zahtev.

Poleg tega lahko zaženete spodnji ukaz, da dosežete enak rezultat. Tako kot v prejšnjem primeru tudi spodnji ukaz izvrši ukaz curl 10-krat s 5 vzporednimi zahtevami.

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

Vzemimo še en primer. Recimo, da želite hkrati prenesti 3 datoteke z ukazom curl. Prvi korak bo shranjevanje URL-jev datotek pred prenosom v besedilno datoteko. Tukaj imamo prenos besedilne datoteke.txt z naslednjimi URL-ji.

Če želite datoteke hkrati prenesti, zaženite naslednji ukaz:

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

Ukaz petkrat vzporedno zavije vsako vrstico v besedilni datoteki. The -n 1 flag zagotavlja, da ukaz curl bere eno vrstico za vsako izvajanje ukaza curl.

In tako vzporedno izvajate več zahtev za curl.

HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...
Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...
Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...