Как отправить более одной строки запроса в Apache Bench?


person thirumalairaj    schedule 03.02.2011    source источник


Ответы (3)


Вероятно, вам просто нужно указать URL-адрес в кавычках, чтобы избежать интерпретации специальных символов оболочки. В этом случае ваш символ & вызывает запуск текста слева в фоновом режиме при попытке запустить superDo как команду.

 ab -n 1 -c 1 'http://localhost:2020/welTo.do?pxtId=3000007937&superDo=jack'
person noodl    schedule 03.02.2011
comment
Работало, но (по крайней мере, в Windows) мне нужно было использовать двойные кавычки (") - person thaddeusmt; 10.02.2012

Для этого есть два обходных пути:

  1. Вы можете использовать двойные кавычки, чтобы окружить URL-адрес:

ab -n 1 -c 1 "http://localhost:2020/welTo.do?pxtId=3000007937&superDo=jack"

  1. Экранируйте "&" с помощью обратной косой черты:

ab -n 1 -c 1 http://localhost:2020/welTo.do?pxtId=3000007937\&superDo=джек

person user551168    schedule 16.02.2012

Почтовый файл пробовали? думаю, это должно работать:

ab -n 1 -c 1 -p postfile.txt -T 'application/x-www-form-urlencoded' http://localhost:2020/welTo.do

А затем создайте плоский файл с именем postfile.txt с таким содержимым:

pxtId=3000007937&superDo=jack

Пример адаптирован отсюда

person Purefan    schedule 03.04.2011
comment
Эй, можно ли указать данные сообщения в самой команде, а не в файле, как в curl? - person David Okwii; 02.04.2017
comment
Согласно документам, эта опция недоступна, но вы можете создать именованный канал и читать из него, что очень похоже на сохранение содержимого в файле. По какой причине вы не можете использовать традиционный файл? - person Purefan; 03.04.2017
comment
Параметры удобнее указывать в команде, особенно когда их немного. И поскольку curl и другие инструменты делают то же самое, я ожидал, что ab сделает то же самое. В противном случае я не совсем уверен, как создать именованный канал и прочитать его. - person David Okwii; 04.04.2017
comment
@DavidOkwii Это довольно хорошо объясняет stackoverflow.com/a/6675168/363217 - person Purefan; 04.04.2017