|
1c83 http-post бьет символы | ☑ | ||
---|---|---|---|---|
0
murr_2012
05.04.21
✎
12:37
|
Отправляю из 1с пухлый json через post запрос на nodejs-сервер (на этой же машине Ubuntu в виртуалке).
1с 8.3.18.1334 (пришлось переходить на BAS, решил ставить последнее из найденного в варезниках, времени экспериментировать не было, сейчас чувствую, что сглупил) На прежней версии 3.8.10.2528(?) работало всё как часики. Попытка Соединение = Новый HTTPСоединение(АдресСервера, 8002, "mlApp1C", "mlApp1C"); Исключение ЗаписьЖурналаРегистрации("Ошибка соединения с сервером бэкенда маршрутов ", УровеньЖурналаРегистрации.Ошибка); Возврат; КонецПопытки; Заголовки = Новый Соответствие; Заголовки.Вставить("Content-Type", "application/json; charset=utf-8;"); ЗапросХХТП = Новый HTTPЗапрос("?action=routelist_exported", Заголовки); ПолныйОтвет = Новый Структура ("success, message, data, operation", Истина, "", СтруктураОтвета, "export_routelists"); Ответ = Новый ЗаписьJSON(); Ответ.УстановитьСтроку(); ЗаписатьJSON(Ответ, ПолныйОтвет); // сериализует ОтветМассив в формат JSON ЗапросХХТП.УстановитьТелоИзСтроки(Ответ.Закрыть(), КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); Попытка Результат = Соединение.ОтправитьДляОбработки(ЗапросХХТП); Исключение ЗаписьЖурналаРегистрации("Ошибка отправки МЛ серверу бэкенда маршрутов ", УровеньЖурналаРегистрации.Ошибка); Возврат; КонецПопытки; Все почти хорошо, за исключением того, что на ноду приходят битые символы типа "УГХТ ��ОВ" ��аг. "Аптека" Каб 52�� Это происходит не всегда и не везде. Делаю повторную отправку данных - приходит в нормальном виде. Ну возможно на третий раз. Бесит. Что и где можно покрутить? |
|||
1
murr_2012
05.04.21
✎
20:07
|
Решил через Новый COMОбъект("WinHttp.WinHttpRequest.5.1")
Закрыто. |
|||
2
Вафель
05.04.21
✎
21:50
|
Это все бом
|
|||
3
murr_2012
06.04.21
✎
17:57
|
По поводу BOM делал "ИспользованиеByteOrderMark.НеИспользовать"
Пытался детектить BOM на приеме - не находил. Как от этого избавиться? Писать строку на диск и скармливать curl? |
|||
4
Garykom
гуру
06.04.21
✎
18:02
|
(3) XMLСтрока уже пробовал?
|
|||
5
murr_2012
06.04.21
✎
18:10
|
(4) Неа. Есть смысл? Там какой-то другой механизм сериализации?
Есть подозрение, что символы бьются где-то еще до отсылки. Может на этапе ЗаписатьJSON(Ответ, ПолныйОтвет); Хрен поймаешь их появление. WinHttp.WinHttpRequest вчера вроде все отослал красиво, но сегодня увидел несколько строк в БД битых. То ли я их проглядел тогда, то ли проблема осталась. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |