Download di più file con arricciatura con diversi proxy


0

Sto cercando di scaricare più url da diversi domini usando diversi proxy.

Dovrebbe fare tutto questo in una riga di codice, eseguendo il ricciolo una sola volta:

do shell script "curl --proxy 1.2.3.4:800 http://domain1.com/somefile.txt"
do shell script "curl --proxy 2.3.4.5:80 http://www.domain2.com/otherfile.png"
do shell script "curl --proxy 3.4.5.6:8080 http://domain3.com/file.jpg"
...

Questo fallisce:

do shell script "curl --proxy 1.2.3.4:800 2.3.4.5:80 3.4.5.6:8080 http://domain1.com/somefile.txt http://www.domain2.com/otherfile.png http://domain3.com/file.jpg"

Prendendo il codice da una risposta qui sotto ho provato a correre

set url_list to "1.2.3.4:800 http://domain1.com/somefile.txt
2.3.4.5:80 http://www.domain2.com/otherfile.png
3.4.5.6:8080 http://domain3.com/file.jpg"

do shell script "xargs curl --proxy < " & url_list

ma anche questo fallisce.


Come fallisce il secondo esempio (messaggio di errore, ecc.)? E alla domanda nel suo insieme: cosa ti aspetti dal gestire i tre download in una riga di codice? Vuoi eseguirli in parallelo?
nohillside

Non è necessario eseguire parallelamente.

Qual è la motivazione per avere tutto in "una riga di codice" allora?
nohillside

Risposte:


2

Quando hai un URL o multipli lunghi, usa invece xargs:

do shell script "xargs curl --proxy < url-list.txt"

url-list.txt

1.2.3.4:800 http://domain1.com/somefile.txt
2.3.4.5:80 http://www.domain2.com/otherfile.png
3.4.5.6:8080 http://domain3.com/file.jpg

Non dovresti anche passare -L 1 -P 3 a xargs anche per garantire che curl è chiamato correttamente e quello xargs esegue i download in parallelo?
nohillside

@patrix, sì, lo farei normalmente, anche se il op non aveva nessuno di questi argomenti nel loro comando originale - quindi forse non volevano nessun nuovo tentativo. Gli argomenti del tunnel proxy sono necessari solo se non si utilizza il protocollo HTTP.
l'L'l

Li avrei passati a xargs, non a rannicchiarsi.
nohillside

lol, ironico come questi argomenti si applicano ancora alla domanda nell'aspetto curl - ma sì xargs eof e output sono utili senza dubbio e mi spiace di non averlo notato nel tuo commento originale.
l'L'l
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.