Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2011, 21:42   #1
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию Post запрос в Делфи

Пытаюсь отправить post запрос в делфи с использованием синапса. Столкнулся с проблемой того что данные отправляются все кроме "+". Это видно четко через сниффер. Кто может подсказать как это обойти? Точнее отправить данные в запросе типа 'L=123+789'

пример кода:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
  http: THTTPSend;
  params: string;
begin
  http := THTTPSend.Create;
  http.Document.Clear;
  http.Headers.Clear;
  params := 'LA=123+789';
  http.Document.Clear;
  http.Headers.Clear;
  HTTP.MimeType := 'application/x-www-form-urlencoded';
  HTTP.Document.Write(Pointer(Params)^, Length(Params));
  HTTP.HTTPMethod('POST', 'http://');
  end;
а в сниффере:
LA 123 789
Зод вне форума Ответить с цитированием
Старый 27.09.2011, 21:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

+ в строке запроса заменяет пробел. почему его нужно самого менять на %2В Если не ошибаюсь
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.09.2011, 22:38   #3
VadikV
Форумчанин
 
Аватар для VadikV
 
Регистрация: 08.01.2011
Сообщений: 226
По умолчанию

у тебя указано: 'application/x-www-form-urlencoded'
вот и нужно переводить все в urlencoded тогда + переведется в нужный код: %2В
icq 223-630-454
e-mail vysotskiy@list.ru
сайт http://www.big-library.net/
VadikV вне форума Ответить с цитированием
Старый 28.09.2011, 09:05   #4
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию

А можно узнать как?
Вот есть метод в синапсе EncodeURL а как им пользоваться ни где нет информации. Пример бы хоть какой, я на них быстро понимаю.
Еще хотел спросить как прочитать файл, вернее установить разделители. Что бы читал до знака :
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
  http: THTTPSend;
  params: string;
begin
  http := THTTPSend.Create;
  http.Document.Clear;
  http.Headers.Clear;
  params := EncodeURL(AnsiToUtf8('h=1+1'));
  http.Document.Clear;
  http.Headers.Clear;
  HTTP.MimeType := 'application/x-www-form-urlencoded';
  HTTP.Document.Write(Pointer(Params)^, Length(Params));
  HTTP.HTTPMethod('POST', 'http://');
  end;
Это с EncodeURL, вот только она все равно не распознает плюсы.
Код:
 params := 'LA=' + EncodeURLElement('1+1');
вот при этой строчке формируется нормальный запрос с плюсом. Спасибо что натолкнули на правильные поиски.
Хотелось бы знать почему при первом он не выполняется и как разделить чтение файлов? Может кто подскажет.

Последний раз редактировалось mihali4; 02.11.2011 в 15:04.
Зод вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Post запрос Arsenx777 Работа с сетью в Delphi 4 18.08.2011 19:56
Post запрос nakazanie Работа с сетью в Delphi 4 14.02.2011 11:52
post запрос? codermoder Работа с сетью в Delphi 19 01.09.2010 18:23
POST запрос DeDoK Работа с сетью в Delphi 6 12.07.2009 00:48