Проблема амперсанда в функции ЗапросHTTP.УстановитьТелоИзСтроки()
Подскажите плиз, кто решал проблему. Сроки горят, нет времени долго искать
Суть проблемы вот в чем. Имеем кусок кода
Данные = Данные + "fields[NAME]=" + Стр.Ссылка.Наименование + "&";
Данные = Данные + "fields[DESCRIPTION]=" + Стр.Ссылка.НаименованиеПолное + "&";
ЗапросHTTP.УстановитьТелоИзСтроки(Данные);
Если в наименовании попадается вдруг амперсанд (&) то при выполнении метода УстановитьТелоИзСтроки наименование разбивается по символу амперсанда, как будто это отдельное поле запроса
Пробовал делать так:
СтрЗаменить(Стр,"&","\u0026");
или так
СтрЗаменить(Стр,"&","%26");
Проблема обрезания наименования конечно уходит, но на сайте в наменовании не амперсанд, а соответственно \u0026 или %26
Суть проблемы вот в чем. Имеем кусок кода
Данные = Данные + "fields[NAME]=" + Стр.Ссылка.Наименование + "&";
Данные = Данные + "fields[DESCRIPTION]=" + Стр.Ссылка.НаименованиеПолное + "&";
ЗапросHTTP.УстановитьТелоИзСтроки(Данные);
Если в наименовании попадается вдруг амперсанд (&) то при выполнении метода УстановитьТелоИзСтроки наименование разбивается по символу амперсанда, как будто это отдельное поле запроса
Пробовал делать так:
СтрЗаменить(Стр,"&","\u0026");
или так
СтрЗаменить(Стр,"&","%26");
Проблема обрезания наименования конечно уходит, но на сайте в наменовании не амперсанд, а соответственно \u0026 или %26
Найденные решения
Получается, что проблема на серверной стороне, так как сервер не делает над наименованием преобразование типа urldecode. То есть исправлять на серверной стороне. Есть еще ﹠ U+FE60, & # 65120; SMALL AMPERSAND и & U+FF06, & # 65286; FULLWIDTH AMPERSAND, если конечно, получится их передать.Ну или СтрЗаменить(Стр,"&"," And ");
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Получается, что проблема на серверной стороне, так как сервер не делает над наименованием преобразование типа urldecode. То есть исправлять на серверной стороне. Есть еще ﹠ U+FE60, & # 65120; SMALL AMPERSAND и & U+FF06, & # 65286; FULLWIDTH AMPERSAND, если конечно, получится их передать.Ну или СтрЗаменить(Стр,"&"," And ");
от них ответа ждать 2 дня, даже не писал им
вообще я отправляю методом POST, вряд ли при отправке через POST они используют urldecode для полей запроса
методом GET REST API Битрикса мне не дает отправлять для данной команды
вообще я отправляю методом POST, вряд ли при отправке через POST они используют urldecode для полей запроса
методом GET REST API Битрикса мне не дает отправлять для данной команды
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот