Можно использовать user: pass @ host в JMeter HTTPSampler? - PullRequest
0 голосов
/ 25 января 2019

Меня попросили протестировать приложение, URL которого мне дали как http://user:pass@host:port/path

Я знаю, что это HTTP Basic Authentication, и включение user:pass не рекомендуется RFC 2396 (раздел 3.2.2).

Я также ожидаю, что приложение получит авторизацию в шапке без проблем.

Однако я решил попытаться довести JMeter до того URL-адреса в том формате, который мне дали в любом случае (просто чтобы попробовать).

Обнаружено два препятствия.

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

Во-вторых, HTTP Sampler (включая значения по умолчанию для запроса) не воспринимает информацию пользователя / права доступа отчетливо.

Таким образом, единственное место, где можно попробовать, - это поле домена образца HTTP (или значения по умолчанию).

Однако домен в конечном итоге передается конструктору URL(protocol, domain, getPort(), pathAndQuery.toString()).

Добавление user:pass@host в домен приведет к последующему исключению синтаксического анализа позже, поскольку конструктор интерпретирует : как попытку предоставить адрес IPv6 и, следовательно, заключает хост в квадратные скобки (то есть он буквально преобразует домен в [user:pass@host]).

Итак, суть, есть ли какие-нибудь методы, которые я не рассматривал, которые могут использовать JMeter для принятия URL user:pass@host (кроме взлома кода или постановки проблемы с JMeter)?

Как упоминалось ранее, это не рекомендуется RFC, поэтому, вероятно, лучше всего позволить этой части архаичной интернет-вредоносности спокойно умереть. Но любопытство побуждает.

1 Ответ

0 голосов
/ 28 января 2019

Возможно, однако вам нужно поместить весь материал http://user:pass@host:port/path в секцию «Path» HTTP Request sampler

enter image description here

Это приведет к запросу, который вы ищете (можно проверить с помощью Просмотреть дерево результатов слушатель):

enter image description here


Однако, если вам нужен доступ к ресурсам, ограниченным базовой HTTP-аутентификацией - рекомендуемый способ его обхода - HTTP Authorization Manager

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...