|
|
Символ "+" в теле 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
|
|