{ =============================================================================
отправка запроса aRequest на сервер aServer, ответ в Result
=============================================================================}
function Request (aRequest, aServer : string) : string;
var lFormData : TIdMultiPartFormDataStream;
lResponce : string;
HTTPRequest: TIdHTTP;
begin
if trim(aRequest)='' then exit;
lFormData := TIdMultiPartFormDataStream.Create;
lFormData.AddFormField('rq', aRequest);//собственно запрос передаётся в параметре $_Request['rq']
{$IFDEF DEBUG}
Writeln(#13#10 + 'Request to server '+ aServer +#13#10+ aRequest);
{$ENDIF}
Функция Request отправляет POST-запрос на указанный сервер с предоставленными данными и возвращает ответ от сервера в виде строки. Вот шаг за шагом, как она работает:
Функция принимает два параметра: aRequest, которое является данными для отправки, и aServer, которое является URL-адресом сервера, к которому будет отправлен запрос.
Она создает экземпляр класса TIdMultiPartFormDataStream и добавляет поле формы с именем rq и значением aRequest. Это представляет собой данные запроса, которые будут отправлены на сервер.
В режиме отладки она печатает сообщение, указывающее, что запрос будет отправлен на сервер, а также данные запроса.
Она пытается отправить POST-запрос на сервер с помощью компонента TIdHTTP. Запрос отправляется на URL http:// + aServer с формой данных.
Если возникает исключение при выполнении запроса (например, ошибка соединения), она ловит исключение, отображает сообщение об ошибке и устанавливает lResponce в пустую строку.
В режиме отладки она печатает сообщение, указывающее, что получен ответ от сервера.
Наконец, она возвращает ответ как строку.
Чтобы получить результат выполнения запроса, вы можете вызвать эту функцию с вашими желаемыми данными запроса и URL-адресом сервера, например:
varResponse:string;beginResponse:=Request('MyRequestData','myserver.com');ShowMessage(Response);// Отображает ответ в сообщенииend.
Это отправит запрос на http://myserver.com с формой данных rq=MyRequestData и отобразит полученный ответ от сервера в сообщении.
Данная статья описывает функцию Request, которая отправляет запрос на веб-сервер и возвращает полученный результат выполнения запроса.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.