Я пытаюсь загрузить журналы исключений суматохи, используя следующую команду.
curl --cookie ./flurry.jar -k -L "https://dev.flurry.com/exceptionLogsCsv.do?projectID=49999&versionCut=versionsAll&intervalCut=allTime&direction=1&offset=[0-100:10]" --output "exception#1.csv"
Работает нормально и загружает CSV-файлы на основе смещения (10,20,30 и т. Д.). Я хотел бы вставить задержку между каждым запросом. Возможно ли это сделать в CURL?
wget имеет опции задержки
wget --wait=seconds
, а также опция случайной задержки
wget --random-wait
Использование оболочки bash (Linux):
while : do curl --cookie ./flurry.jar -k -L "https://dev.flurry.com/exceptionLogsCsv.do?projectID=49999&versionCut=versionsAll&intervalCut=allTime&direction=1&offset=[0-100:10]" --output "exception#1.csv" sleep 5m done
Это бесконечный цикл, и задержка задается командой sleep.
sleep
Редактировать ,На компьютере с Windows вы можете выполнить этот трюк:
for /L %i in (0,0,0) do ( curl --cookie ./flurry.jar -k -L "https://dev.flurry.com/exceptionLogsCsv.do?projectID=49999&versionCut=versionsAll&intervalCut=allTime&direction=1&offset=[0-100:10]" --output "exception#1.csv" ping -n XX 127.0.0.1>NUL )
Команда sleep недоступна в Windows.Но вы можете использовать ping, чтобы «подражать» ему.Просто замените XX выше на количество секунд, которое вы хотите отложить.
ping
в bash, это приостановит произвольное количество секунд в диапазоне 0-60:
for d in {0..100..10} do i=`printf "%03d" $d` curl --cookie ./flurry.jar -k -L 'https://dev.flurry.com/exceptionLogsCsv.do?projectID=49999&versionCut=versionsAll&intervalCut=allTime&direction=1&offset='$d --output 'exception'$i'.csv' sleep $(($RANDOM*60/32767)) done