1

Я пытаюсь скачать список URL с cURL с несколькими URL на процесс. Следующее работает, но возвращает странный результат, если параметр xargs -L больше 1. Я хочу запустить 8 процессов, каждый из которых получает по 4 URL, чтобы не создавать слишком много.

curl url1...url4

cat urls.txt | xargs -n 1 -L 4 -P 8 curl -I -s -o /dev/null -w "%{http_code} %{url_effective}\n" 

Результат довольно хаотичный.

503 http://somewebsite.txt
404 http://somewebsite.txt
503 http://somewebsite.txt
404 http://somewebsite.txt
HTTP/1.1 404 Not Found
Server: nginx
Date: Thu, 24 Nov 2016 10:11:36 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Access-Control-Allow-Origin: *

404 http://somewebsite.txt
HTTP/1.1 404 Not Found
Server: nginx
Date: Thu, 24 Nov 2016 10:11:36 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Access-Control-Allow-Origin: *

404 http://somewebsite.txt

1 ответ1

0

Это не похоже на проблему на стороне клиента. Это похоже на проблему с сервером, как jsp, который не компилируется.

Вы можете исследовать с помощью curl -vvv чтобы получить больше информации.

Кроме того, когда проблема решена, вы, вероятно, захотите использовать xargs -n 4 вместо "-n 1 -L 4".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .