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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2019, 15:27   #1
AndreyAVM
 
Регистрация: 09.10.2019
Сообщений: 4
По умолчанию Delphi HTTPClient формирование TIdMultiPartFormDataStream

Я посылаю из Delphi приложения post запросы используя компонент THTTPClient. Тело запроса формирую с помощью TIdMultiPartFormDataStream. Но в последнем разделе "HTML Form URL Encoded" получается какая-то мешанина заголовков. Ниже код и тело пакета из сниффера.

HTTPCommandClient: THTTPClient;

...

HTTPCommandClient := THTTPClient.Create;
with HTTPCommandClient do
begin
ConnectionTimeout := 10000;
ResponseTimeout := 10000;
CustomHeaders['Accept'] := '*/*';
CustomHeaders['Content-Type'] := 'application/x-www-form-urlencoded';
CustomHeaders['X-Requested-With'] := 'XMLHttpRequest';
CustomHeaders['Accept-Encoding'] := 'gzip, deflate';
CustomHeaders['Accept-Language'] := 'ru-RU';
end;

...

procedure TIPSwitchNetworkPortsForm.ResetAllC ountSpeedButtonClick(Sender: TObject);
var commandFormData: TIdMultiPartFormDataStream;
begin
commandFormData := TIdMultiPartFormDataStream.Create;
try
commandFormData.AddFormField('all', '');
try
HTTPCommandResponse := HTTPCommandClient.Post('http://' +
fIPAddress + '/clearportsstat?section=STAT', commandFormData);
except
end;
finally
commandFormData.Free;
end;
end;

Далее тело пакета, которое получилось:

Hypertext Transfer Protocol
POST /clearportsstat?section=STAT HTTP/1.1\r\n
Connection: Keep-Alive\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Accept: */*\r\n
Accept-Encoding: gzip, deflate\r\n
Accept-Language: ru-RU\r\n
User-Agent: Embarcadero URI Client/1.0\r\n
X-Requested-With: XMLHttpRequest\r\n
Content-Length: 175\r\n
Host: 192.168.10.30\r\n
\r\n
[Full request URI: http://192.168.10.30/clearportsstat?section=STAT]
[HTTP request 5/5]
[Prev request in frame: 520]
[Response in frame: 641]
File Data: 175 bytes
HTML Form URL Encoded: application/x-www-form-urlencoded
Form item: "----------110819143947701
Content-Disposition: form-data; name" = ""all"
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable


----------110819143947701--
"
Key: ----------110819143947701\r\nContent-Disposition: form-data;
name
Value: "all"\r\nContent-Type: text/plain\r\nContent-Transfer-
Encoding: quoted-printable\r\n\r\n\r\n----------110819143947701--\r\n

А вот то, что я ожидаю получить:

HTML Form URL Encoded: application/x-www-form-urlencoded
Form item: "all" = ""
Key: all
Value:
AndreyAVM вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
формирование отчета из Delphi в Exel Vansha БД в Delphi 0 18.01.2018 12:14
TIdMultiPartFormDataStream MorgunZ Работа с сетью в Delphi 0 05.06.2015 11:47
HttpClient Apache alreadyexist Общие вопросы по Java, Java SE, Kotlin 2 13.04.2012 13:07
Apache HttpClient cs0ip Общие вопросы по Java, Java SE, Kotlin 1 02.04.2010 17:41
Формирование отчета в Excel из Delphi Chals Общие вопросы Delphi 1 04.06.2007 19:25