Перейти к содержимому
Участник сообщества #60
Участник сообщества #60
22 окт. 2024 г., 10:00(изменён)
Решено
0
0

Лишний заголовок Authorization

Из чата сообщества

Всем привет! Кто-нибудь сталкивался с чудесами, когда выполняешь запрос с помощью HttpRequest где-нибудь, например, в агенте или обработчике системных событий, а в итоговый запрос добавляется заголовок Authorization: Basic base64_строка_с_логином_и паролем, которого нет в списке явно передаваемых тобой в функцию заголовков? Мы отловили наш запрос с помощью WireShark, раскодировали логин и пароль и поняли, что это код и пароль из нашего объекта "Сервер обмена данными". Непонятно почему его параметры приклеиваются во все отправляемые сервером HTTP запросы. Нам сейчас нужно отравлять другие данные Basic аутентификации с своем запросе, а в итоге получаем запрос сразу с двумя заголовками Authorization: Basic (указанный при выполнении команды HttpRequest и из объекта сервера обмена данными). Само собой мы получаем некорректный запрос, который отбрасывается целевым сервером как некорректный с ошибкой 400.

Участник сообщества
Участник сообщества22 окт. 2024 г., 11:19(изменён)
Решение

Да, оно. Вызов SetHttpDefaultAuth(null, null) убирает лишний заголовок, а вызов с указанными параметрами его добавляет и точно воспроизводит мою проблему на тестовом контуре. Теперь не забывать бы перед вызовами вставлять SetHttpDefaultAuth(null, null)

Участник сообщества
Участник сообщества22 окт. 2024 г., 10:49(изменён)

Если ранее вызывалось что то с обращениенем к SetHttpDefaultAuth

Участник сообщества
Участник сообщества22 окт. 2024 г., 10:51(изменён)

Как вариант попробовать вызвать с пустыми параметрами вызвать перед вызовом своих методов

Чтобы ответить, необходимо войти в систему