Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > непонятный indy


Автор: Neznayka2016 15.3.2016, 00:36
если отправляю post запрос так:
var
  PostData: TStringList;
begin
  ...
  PostData:= TStringList.Create;
  PostData.Add('имя_параметра=значение_параметра');
  ...
  IdHTTP1.Post(url, PostDATA);
 ...
То при перехвате запроса HttpAnalyzer-ом, параметр из PostData вообще не фигурирует в заголовке запроса.

если делаю так:
var
  PostData: TStringList;
begin
  ...
  PostData:= TStringList.Create;
  ...
  IdHTTP1.Request.CustomHeaders.AddValue('имя_параметра', 'значение_параметра');
  IdHTTP1.Post(url, PostDATA);
 ...
То при перехвате запроса HttpAnalyzer-ом, имя и значение появляются в заголовке и распознаются сервером нормально, до тех пор пока длинна значения не превышает 73 символа. Если значение превышает этот порог, то значение параметра в заголовке записывается как имя параметра и сервер естественно ругается. Не могу понять почему этот indy самостоятельно записывает значение в имя.

Автор: kami 15.3.2016, 20:08
Цитата(Neznayka2016 @  15.3.2016,  00:36 Найти цитируемый пост)
То при перехвате запроса HttpAnalyzer-ом, параметр из PostData вообще не фигурирует в заголовке запроса.

естественно, ведь при таком виде PostData оказывается в теле запроса. Заголовки формируются отдельно.

Цитата(Neznayka2016 @  15.3.2016,  00:36 Найти цитируемый пост)
до тех пор пока длинна значения не превышает 73 символа. 

Интересно. Какая версия Indy и Delphi?

А вообще - несколько странно пихать в заголовок то, что должно идти в теле запроса.

Автор: Neznayka2016 15.3.2016, 21:40
Версия Delphi® 2010 Version 14.0.3593.25826, indy10

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)