Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование амперсанда при POST-запросе 
V
    Опции темы
DDDsa
Дата 28.3.2009, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



Помогите, пожалуйста, разобраться. Делаю POST-запрос следующим образом:
Код

var
data:tstringlist;
begin
  data := tstringlist.Create;
  data.Add('text='+editor.text);
  idhttp1.Post('http://site.ru/page/',data);
  data.free;
end;


В общем-то все в порядке,но если в editor.text присутствует амперсанд, то все, что за ним следует - отрезается. Что, в общем-то, логично. Если использовать вместо амперсанда %26, то все в порядке, ничего не отрезается, но на сайте эти %26, почему-то, не обрабатываются. То есть отправляю "123 %26 123", отображается "123 %26 123". Если приписывать 
Код

idhttp1.Request.ContentType := 'application/x-www-form-urlencoded';

ничего не меняется.

Если же отправлять данные через форму на сайте, то там, опять же, не преобразовывается %26, зато простой амперсанд виден нормально. Смотрел через FireBug, там отправляется просто, без всяких преобразований. То есть если я ввел в форму "123&123", то запрос выглядит text=123&123.
PM MAIL ICQ   Вверх
Matematik
Дата 28.3.2009, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



Попробуй отключить hoForceEncodeParams в IdHTTP1.HTTPOptions
PM MAIL WWW ICQ   Вверх
DDDsa
Дата 28.3.2009, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



Matematik, отключил, амперсанды начали УРЛЭнкодиться. 
Спасибо!!
PM MAIL ICQ   Вверх
DDDsa
Дата 28.3.2009, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



Рано я радовался. Почему-то теперь отправляет только первую строчку (у меня текст содержится в richedit) : (
Все, все. Применил к тексту нормальный URLEncode, который преобразовал все, включая  #10 и #13. Работает

Это сообщение отредактировал(а) DDDsa - 28.3.2009, 18:53
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0830 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.