Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизСимвол + и TIdURI.URLEncode, как правильно? Найти похожие ветки
← →
sniknik © (2010-03-02 12:16) [0]Наткнулся на ситуацию когда мой GET запрос не обрабатывался сервером из-за того что в данных параметра были плюсы (+), и он их менял пробелы.
НО, в другие места проходило и так... (+ не проходил в пути, а данных легко)
В общем посмотрел и нашел, что могут быть 2 варианта как с + так и с его заменой на %2B. ...
А как более правильно? Подозреваю что с %2B, т.к. так проходит и там и там... но, должен же быть какой то стандарт.
В общем то фигня это все, просто получается, что в Indy глюк (10 последняя официальная версия). -class function TIdURI.ParamsEncode(const ASrc: string): string;
var
i: Integer;
const
UnsafeChars = "*#%<> []"; {do not localize}
....
надо делать аналогичноclass function TIdURI.PathEncode(const ASrc: string): string;
const
UnsafeChars = "*#%<>+ []"; {do not localize}
....
← →
Palladin © (2010-03-02 12:55) [1]и так и так правильно, тут в другом дело, например введи в гугле в строке поиска "http + symbol" нажми поиск и посмотри в строчку запроса
а так, знак "+" не запрещен к использованию
← →
Anatoly Podgoretsky © (2010-03-02 13:04) [2]> sniknik (02.03.2010 12:16:00) [0]
Правильно с %2B, поскольку + заменяет пробел. Это и есть стандарт.
← →
sniknik © (2010-03-02 15:54) [3]> Правильно с %2B, поскольку + заменяет пробел. Это и есть стандарт.
В том то и дело, меняет, но в начале работал с серверами где не меняет, и в Indy формировало также, я и не "парился", фактически и не смотрел туда.
А тут раз и засада... пришлось менять "индевый" URLEncode на свой...
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.065 c