Имя: Пароль:
1C
1С v8
HTTPСоединение Bad Request: один и тот же код в разных конфигурациях ведёт себя по разному
0 OnePrg
 
04.07.23
23:09
Есть обработка в которой вот этот код

    HTTPСоединение = Новый HTTPСоединение("ххххххххххххххххххх",,,,,,Новый ЗащищенноеСоединениеOpenSSL);
    HTTPЗапрос = Новый HTTPЗапрос("хххххххххххххх");
    HTTPЗапрос.Заголовки.Вставить("Content-Type",    "application/json");
    HTTPЗапрос.Заголовки.Вставить("X-API-KEY",    "хххххххххххххххххххххх");
    HTTPЗапрос.УстановитьТелоИзСтроки("{
                                        |""session"": {
                                        |""password"": ""ххххххххххххххх"",
                                        |""phone_number"": ""хххххххххххххххх""
                                        |}
                                        |}");
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
    РезультатHTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос,ИмяВременногоФайла);
        ЧтениеJSON=Новый ЧтениеJSON;
        ЧтениеJSON.ОткрытьФайл(ИмяВременногоФайла);
        Ответ=ПрочитатьJSON(ЧтениеJSON);    
    ЧтениеJSON.Закрыть();
    УдалитьФайлы(ИмяВременногоФайла);    
    Если Ответ.Свойство("errors") Тогда
        Результат = Ответ.errors.base[0].error;
    Иначе
        Результат = Ответ.data.access;
    КонецЕсли;


Код не привязан к объектам конфигурации. Все данные для запроса записаны напрямую в код. Есть две базы. Одна на управляемых формах, другая на обычных. Платформа одна. На управляемых формах код выполняется и от сервера приходит нормальный ответ. На другой базе запрос возвращает bad request.

Как такое может быть?
1 OnePrg
 
05.07.23
00:01
Помогло добавление таких параметров в УстановитьТелоИзСтроки

, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать
2 lodger
 
05.07.23
11:17
вангую, что один запрос исполняется на клиенте под именем юзера, а второй вылетает из сервера1с с обнулёнными доступами?
3 Garykom
 
05.07.23
12:48
(1) Да по умолчанию это поменялось на какой то версии платформы
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший