Как использовать команду http (http ie) для повторного запроса URL? - PullRequest
2 голосов
/ 08 марта 2020

как нам повторить приведенную ниже команду для запуска 100 того же запроса на моем bash терминале?

http GET welcomer.loreans.com/welcome

http от httpie ( https://httpie.org/)

Ответы [ 3 ]

1 голос
/ 08 марта 2020

Другая версия вашего линейного решения:

for i in `seq 1 100`; do http GET welcomer.loreans.com/welcome; done

Что касается запросов URL, GNU Parallel больше подходит для вашей задачи.

Straight со страницы man :

Параллельный GNU - это инструмент оболочки для параллельного выполнения заданий с использованием одного или нескольких компьютеров. Типичным вводом является список файлов, список хостов, список пользователей, список URL-адресов или список таблиц.

Поэтому, если вы хотите, чтобы запрос исходил с разных компьютеров , вы можете адаптировать следующую команду, которая использует только один компьютер.

parallel http GET welcomer.loreans.com/welcome ::: `seq 1 100`

В отличие от решения с амперсандом, это не поставит ваш ноутбук на колени, если вы резко увеличите количество желаемых запросов.

1 голос
/ 08 марта 2020

Вот небольшой поворот в этой задаче. Вот код для выполнения этого запроса 100 раз параллельно:

seq 1 100 | xargs -I% -P100 http GET welcomer.loreans.com/welcome

А вот аналогичный код для параллельного выполнения задач, но без xargs:

for i in $(seq 1 100)
do
  http GET welcomer.loreans.com/welcome &
done
wait

Как видите, для l oop был дополнен амперсандом для выполнения http GET в фоновом режиме. Более того, в конец добавляется wait, чтобы скрипт bash ожидал завершения всех дочерних процессов.

0 голосов
/ 08 марта 2020
repeat 100 http GET welcomer.loreans.com/welcome
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...