http сервис экранирование символов

1. user-z99999 67 21.09.22 15:16 Сейчас в теме
http сервис экранирование символов

Ошибка из-за наклонной черты в адресе.
АдресПроверки = "5-й Тестовый пер., д. 11/13";

	//ПараметрыJSON = Новый ПараметрыЗаписиJSON( , , , , , , , ,Истина); 
	//Запись = Новый ЗаписьJSON;       
	//Запись.УстановитьСтроку(ПараметрыJSON);
	//Запись.ЗаписатьЗначение(АдресПроверки);
	//СтрокаJSON = Запись.Закрыть(); 

	
ТекстЗапросаHTTP = "/TEST_SERVER/hs/synch/v1/adress/{" + АдресПроверки + "}";
Показать


Преобразование в json не помогает. Подскажите пожалуйста как экранировать символы при передаче через http сервис?

АдресПроверки = СтрЗаменить(АдресПроверки, "/", "--"); // можно так, но возможно есть более правильное решение.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
4. user-z99999 67 21.09.22 15:44 Сейчас в теме +0.1 $m
Так должно работать:
АдресПроверки = "5-й Тестовый пер., д. 11/13";
АдресПроверки = КодироватьСтроку(АдресПроверки, СпособКодированияСтроки.КодировкаURL);
// АдресПроверки = КодироватьСтроку(АдресПроверки, СпособКодированияСтроки.КодировкаURL, "UTF-8");
// АдресПроверки = КодироватьСтроку(АдресПроверки, СпособКодированияСтроки.КодировкаURL,  "windows-1251");

Но не работает. (а если в адресе нет символа наклонная черта, ошибки нет)

Остановился на таком решении:
АдресПроверки = СтрЗаменить(АдресПроверки, "/", "--");	
АдресПроверки = КодироватьСтроку(АдресПроверки, СпособКодированияСтроки.КодировкаURL);

starik-2005; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 21.09.22 15:26 Сейчас в теме
3. user-z99999 67 21.09.22 15:30 Сейчас в теме
(2)
А если в адресе ещё какой-то будет проблемный символ?
(хочется увидеть функцию, которая знает на какие символы будет ругаться http сервис, и их экранирует)
7. ishelper 21.09.22 17:43 Сейчас в теме
(3)
хочется увидеть функцию, которая знает на какие символы будет ругаться http сервис, и их экранирует
Набор таких символов - не секрет:
Символы, которые являются разделителями сегментов, не меняются ":" / "/" / "?" / "#" / "[" / "]" / "@". Не меняются разрешенные к использованию во всех частях URL-адреса символы: "-" / "." / "_" / "~".

Источник: https://its.1c.ru/db/execdoc/content/20069/hdoc

Ну, а код писать - лениво, кому надо - пусть пишет,
4. user-z99999 67 21.09.22 15:44 Сейчас в теме +0.1 $m
Так должно работать:
АдресПроверки = "5-й Тестовый пер., д. 11/13";
АдресПроверки = КодироватьСтроку(АдресПроверки, СпособКодированияСтроки.КодировкаURL);
// АдресПроверки = КодироватьСтроку(АдресПроверки, СпособКодированияСтроки.КодировкаURL, "UTF-8");
// АдресПроверки = КодироватьСтроку(АдресПроверки, СпособКодированияСтроки.КодировкаURL,  "windows-1251");

Но не работает. (а если в адресе нет символа наклонная черта, ошибки нет)

Остановился на таком решении:
АдресПроверки = СтрЗаменить(АдресПроверки, "/", "--");	
АдресПроверки = КодироватьСтроку(АдресПроверки, СпособКодированияСтроки.КодировкаURL);

starik-2005; +1 Ответить
8. starik-2005 3036 22.09.22 21:22 Сейчас в теме
5. EVKash 14 21.09.22 16:47 Сейчас в теме
(1) если апач, то по умолчанию закодированный слеш он не воспринимает. Ему надо
AllowEncodedSlashes On
указывать
6. user-z99999 67 21.09.22 17:10 Сейчас в теме
Оставьте свое сообщение

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