Я пытаюсь загрузить несколько URL-адресов из разных доменов, используя разные прокси.
Он должен сделать все это в одной строке кода, запустив curl только один раз:
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"
...
Это не удается:
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"
Взяв код из ответа ниже, я попытался запустить
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
но это тоже не получается.
Ответы:
Если у вас длинный URL или кратные символы, используйте вместо них xargs:
URL-list.txt
источник
-L 1 -P 3
к тому,xargs
чтобы убедиться, что онcurl
вызывается правильно и чтоxargs
загрузка выполняется параллельно?op
сделал , хотя в их исходной команде не было ни одного из этих аргументов - так что, возможно, они не хотели повторных попыток. Аргументы туннеля прокси необходимы, только если не используется протокол HTTP.