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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не отправляется POST запрос idHTTP - что делаю не, как экранировать спец символы? 
:(
    Опции темы
dhdh
  Дата 23.6.2013, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Проблема в символах, например в символе &

Я не знаю почему так все происходит, может кто сможет мне помочь

Делфи 2009 у меня

Это функция отправки

Код

function TForm1.SendData(url:string;url_str:string):string;
var
data: TStringStream;
dump:TStream;
dump_txt:TStringList;
otv:string;
begin
  RandHeader;

  //dump := TStringStream.Create('', TEncoding.UTF8);
  dump_txt:=TStringList.Create;
  dump:=TMemoryStream.Create;
  otv:='';

  IdHTTP1.Request.ContentType:='application/x-www-form-urlencoded; charset=UTF-8';

  data:=TStringStream.Create;
  data.WriteString(url_str);

      try
        IdHTTP1.Post(url,data,dump);
      except
      end;

        dump.Seek(0, soFromBeginning);
        dump_txt.LoadFromStream(dump);
        otv:=dump_txt.Text;
        dump.Free;
        dump_txt.Free;
        data.Free;
  SendData:=otv;
end;


Ну а так я отправляю запрос

Код

SendData('http://site.xx/',
  '&url='+url+
  '&str_title='+str_title+
  '&str_price='+str_price+
  '&str_logo='+str_logo+
  '&str_company='+str_company+
  '&str_name='+str_name+
  '&str_phone='+str_phone);



Так вот если в какую нибудь переменную вдруг попадет кривой символ, то запрос не отправляется и не доходит

Я уже задолбался с этой проблемой

Кто нибудь сталкивался с подобным?


PM MAIL WWW   Вверх
MetalFan
Дата 24.6.2013, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

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



dhdh, ерунда какая-то. & не должен ни на что влиять...
Кстати, зачем все эти пляски с потоками?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Illusion Dolphin
Дата 24.6.2013, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

Так вот если в какую нибудь переменную вдруг попадет кривой символ, то запрос не отправляется и не доходит
Кто нибудь сталкивался с подобным?

Все знают, что query string нужно энкодить http://stackoverflow.com/questions/776302/...encode-function

Это сообщение отредактировал(а) Illusion Dolphin - 24.6.2013, 10:33


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
MetalFan
Дата 24.6.2013, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

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



Illusion Dolphin, достаточно воспользоваться одной из перегруженных функций Post и указать нужные параметры.
К примеру вот этой:
Код

    function Post(AURL: string; ASource: TStrings; AByteEncoding: TIdTextEncoding = nil
      {$IFDEF STRING_IS_ANSI}; ASrcEncoding: TIdTextEncoding = nil; ADestEncoding: TIdTextEncoding = nil{$ENDIF}): string; overload;




--------------------
There are always someone smarter than you...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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