Команды Linux

Как выполнять несколько запросов curl параллельно

Как выполнять несколько запросов curl параллельно
Предположим, вы хотите запускать несколько запросов curl одновременно по какой-либо причине, скажем, 10 запросов одновременно. Как бы вы это сделали? В этом руководстве мы продемонстрируем, как можно одновременно выполнять несколько фигурных запросов.

Выполняйте параллельные запросы с помощью команды xargs

В xargs Команда - это команда в Linux и UNIX-подобных операционных системах, которая принимает или принимает аргументы из стандартного ввода, а затем запускает команду для каждого аргумента. Проще говоря, команда xargs может принимать вывод команды и обрабатывать его как аргумент другой команды.

Например, в приведенной ниже команде xargs принимает аргументы с левой стороны и создает каталоги, используя имена аргументов.

$ echo 'Африка Азия Европа Америка' | xargs mkdir

Команду xargs также можно использовать для одновременного выполнения нескольких запросов. Если вы проверите страницы руководства, вы найдете раздел, который дает вам аргументы командной строки, как указано ниже.

Используя xargs, мы попытаемся дать команду на выполнение нескольких запросов curl одновременно.

Команда Linux curl - это утилита командной строки, которая используется для передачи файлов. Он обеспечивает поддержку множества протоколов, таких как HTTP, HTTPS, FTP, FTPS, SCP, TFTP и многих других.

Предположим, вы хотите получить HTTP-заголовки веб-сайта с помощью команды curl. Для этого вам нужно будет вызвать команду curl с флагом -I, за которым следует URL-адрес, как показано.

$ curl -I "https: // linuxways.сеть"

Теперь вы только что отправили один запрос на завиток. Предположим, вы хотите выполнить 5 параллельных запросов; как бы ты это сделал? Чтобы решить эту проблему, используйте команду xargs, как показано рядом с командой curl.

$ xargs -I% -P 5 curl -I "https: // linuxways.сеть" < <(printf '%s\n' 1… 10)

Флаг -P обозначает количество параллельных запросов. Секция <(printf '%s\n' 1… 10) выводит числа от 1 до 10 и вызывает выполнение команды curl 10 раз с 5 параллельными запросами.

Кроме того, вы можете запустить команду ниже, чтобы добиться того же результата. Как и в предыдущем примере, приведенная ниже команда выполняет команду curl 10 раз с 5 параллельными запросами.

$ seq 1 10 | xargs -n1 -P 5 curl -I "https: // linuxways.сеть"

Возьмем другой пример. Предположим, вы хотите загрузить 3 файла одновременно с помощью команды curl. Первым шагом будет сохранение URL-адресов загружаемых файлов в текстовый файл. Здесь у нас есть загрузка текстового файла.txt со следующими URL-адресами.

Чтобы загрузить файлы одновременно, выполните следующую команду:

$ xargs -P 5 -n 1 завиток -O < download.txt

Команда скручивает каждую строку в текстовом файле 5 раз параллельно. В -п 1 flag гарантирует, что команда curl считывает одну строку при каждом выполнении команды curl.

И вот как вы выполняете несколько запросов curl параллельно.

Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...
OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...