Тестирование кодов состояния HTTP

Это наиболее вероятно предел на конфигурацию источника данных на драйвере MySQL JDBC затем в Вашей установке - везде, где Вам определили Ваш источник данных, ищут макс. свойство соединения. В зависимости от Вашей установки это могло быть в нескольких местоположениях, определенных по-другому (т.е. в server.xml на уровне Tomcat по сравнению с в web.xml в веб-приложении / уровень), но это там где-нибудь. Возможно, попробуйте grep за "20" кавычки w/или> 20 <(вложенный в XML) сначала...

1
задан 29 March 2012 в 17:16
1 ответ

Я бы использовал сценарий Bash, который вызывает netcat один раз для каждого типа ответа, с соответствующим вводом для генерации каждого другого кода ответа. Я бы отправил это по каналу grep , чтобы проверить правильный ответ, и вывести сообщение на STDERR , если оно неверно.

Это должно быть относительно легко для 2xx, 3xx и 4xx диапазонов при условии, что на вашем сервере существуют URL-адреса, которые фактически генерируют каждый другой код ответа. Диапазоны 5xx относятся к ошибкам на стороне сервера, поэтому для их преднамеренного вызова вам нужно будет настроить определенные URL-адреса на вашем сервере, которые вызывают каждую ошибку. Диапазон 1xx, вероятно, лучше всего протестировать с использованием более полного HTTP-клиента, такого как curl или wget .

Скорее всего, существует несколько способов решения этой проблемы.


В некоторых версиях netcat есть неприятная ошибка, означающая, что она завершается, как только завершает чтение из STDIN. Кроме того, страницы руководства, поставляемые с этой версией с ошибками, содержат пример, который не работает. Обходной путь - опция -q , которая указывает количество секунд, в течение которых нужно ждать ответа перед выходом.

echo -ne "GET / HTTP/1.1\nHost: example.com\n\n" | nc -q 1 example.com 80 | grep -q "HTTP/1.1 301" || echo "HTTP 302 test failed!" >&2
3
ответ дан 3 December 2019 в 19:13

Теги

Похожие вопросы