Имя: Пароль:
1C
1С v8
Символ "+" в теле HTTP запроса
0 Dosperanso
 
05.06.18
11:40
Добрый день коллеги!
Столкнулся с такой проблемой:
Формирую POST-запрос и в значении одного из параметров присутствует символ плюса. Так вот сама строка содержит этот злополучный "+" даже после установки тела запроса.
Но при перехвате запроса через Fiddler - Вместо "+" стоит уже пробел.
Как такое победить?

Кусок кода для наглядности:
Тело = "donotcache="+TimeStamp+
    "&password="+Пароль";
Запрос.УстановитьТелоИзСтроки(Тело);
    Результат = Соединение.ОтправитьДляОбработки(Запрос);
1 Cyberhawk
 
05.06.18
11:42
КодироватьСтроку
2 Cool_Profi
 
05.06.18
11:43
попробуй его заменить на код символа через &
3 Cyberhawk
 
05.06.18
11:44
Не & а %
4 lubitelxml
 
05.06.18
11:45
5 Cool_Profi
 
05.06.18
11:51
(3) Виноват, ошибся
6 Cyberhawk
 
05.06.18
11:52
По идее все должно работать по умолчанию и так
7 Dosperanso
 
05.06.18
12:20
Огромное спасибо!
Проблема решилась вставкой вместо "+" "%2B".
Добавил в код ещё одну строчку и сервер ответил как надо!

Тело = СтрЗаменить(Тело,"+","%2B");
8 Cyberhawk
 
05.06.18
12:55
Это у тебя *овнокод получился, ибо покрывает только одну ситуацию
9 Юрий Лазаренко
 
05.06.18
13:11
(7) %20 для пробела тогда уж надо сразу добавить
(8) +100500
2 + 2 = 3.9999999999999999999999999999999...