Http запрос мобильное приложение

1. rkorsak120 16.07.20 10:18 Сейчас в теме
День добрый.
Есть мобильное приложение на платформе 8.3.16. Отправляет get запрос через apache 2.2 в ут 10.3 внутри локальной сети.
Обнаружилась следующая проблема:
Мобильное приложение отправляет первый запрос без авторизации, приходит отает 401. Сразу же следующий отправляет с авторизацией, приходит ответ 200

GET /trade/hs/obmen/Product/getProduct HTTP/1.1
User-Agent: 1C+Enterprise/8.3
Host: 192.168.1.22:1891
Connection: Keep-Alive
Accept-Encoding: gzip

HTTP/1.1 401 Unauthorized
Date: Wed, 15 Jul 2020 05:46:39 GMT
Server: Apache/2.2.6 (Win32)
WWW-Authenticate: Basic realm="1C:Enterprise 8.3"
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/plain

GET /trade/hs/obmen/Product/getProduct HTTP/1.1
User-Agent: 1C+Enterprise/8.3
Authorization: Basic 0JDQtNC80LjQvdC40YHRgtCw0YDRgtC+0YA6NjY0NjkxNQ==
Host: 192.168.1.22:1891
Connection: Keep-Alive
Accept-Encoding: gzip

HTTP/1.1 200 OK
Date: Wed, 15 Jul 2020 05:46:39 GMT
Server: Apache/2.2.6 (Win32)
Content-Length: 260825
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/x-json

Текст кода
ЗапросХТТП = Новый HTTPЗапрос(Настройки.Публикация + "/hs/obmen/Product/getProduct");
Соединение = Новый HTTPСоединение(Настройки.Адрес, Настройки.Порт, Настройки.Логин, Настройки.Пароль);

Может кто сталкивался?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. korsakovrm 17.07.20 11:59 Сейчас в теме
Вопрос закрыт.
Вышел из положения убрав типовой механизм авторизации и добавил заголовки

Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", КодировкаЛогинПароль(Логин, пароль));
ЗапросХТТП = Новый HTTPЗапрос(<Запрос>, Заголовки);


Функция КодировкаЛогинПароль(Логин, пароль) Экспорт

Поток = Новый ПотокВПамяти;
ЗаписьТекста = Новый ЗаписьТекста(Поток) ;
ЗаписьТекста.Записать(Логин+":"+Пароль);
ЗаписьТекста.Закрыть();
ДвоичныеДанные = Поток.ЗакрытьИПолучитьДвоичныеДанные();
Строка64 = Base64Строка(ДвоичныеДанные);

СтрокаАвторизации = "Basic "+Строка64;
Возврат СтрокаАвторизации ;

КонецФункции
3. ttk 25.01.24 14:26 Сейчас в теме
(2)
Спасибо тебе добрый человек, такая же фигня была, все логи засрало.
Помогло.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот