Метод TURLClient. Запускает асинхронный HTTP-запрос.
function BeginExecute(const ARequestMethod: string; const AURI: TURI; const ASourceStream: TStream = nil; const AContentStream: TStream = nil; const AHeaders: TNetHeaders = nil): IAsyncResult; overload; function BeginExecute(const AsyncCallbackEvent: TAsyncCallbackEvent; const ARequestMethod: string; const AURI: TURI; const ASourceStream: TStream = nil; const AContentStream: TStream = nil; const AHeaders: TNetHeaders = nil): IAsyncResult; overload; function BeginExecute(const AsyncCallback: TAsyncCallback; const ARequestMethod: string; const AURI: TURI; const ASourceStream: TStream = nil; const AContentStream: TStream = nil; const AHeaders: TNetHeaders = nil): IAsyncResult; overload; function BeginExecute(const ARequestMethod: string; const AURIStr: string; const ASourceStream: TStream = nil; const AContentStream: TStream = nil; const AHeaders: TNetHeaders = nil): IAsyncResult; overload; function BeginExecute(const AsyncCallbackEvent: TAsyncCallbackEvent; const ARequestMethod: string; const AURIStr: string; const ASourceStream: TStream = nil; const AContentStream: TStream = nil; const AHeaders: TNetHeaders = nil): IAsyncResult; overload; function BeginExecute(const AsyncCallback: TAsyncCallback; const ARequestMethod: string; const AURIStr: string; const ASourceStream: TStream = nil; const AContentStream: TStream = nil; const AHeaders: TNetHeaders = nil): IAsyncResult; overload;
Параметры:
| ARequestMethod | Обязательный, в зависимости от версии метода | string | Метод HTTP-запроса. Возможные методы запроса зависят от протокола. |
| AURI | Обязательный, в зависимости от версии метода | TURI | URI, который определяет местоположение запрашиваемого вами ресурса |
| ASourceStream | Необязательный | TStream | Поток, содержащий данные, которые необходимо отправить на сервер |
| AContentStream | Необязательный | TStream | Поток, в который необходимо сохранить тело ответа сервера |
| AHeaders | Необязательный | TNetHeaders | Список дополнительных заголовков, которые необходимо отправить на сервер |
| AsyncCallbackEvent | Необязательный | TAsyncCallbackEvent | Обработчик события, который вызывается при получении ответа или сбое запроса, если AsyncCallback равен nil. |
| AsyncCallback | Необязательный | TAsyncCallback | Процедура обратного вызова, которая вызывается при получении ответа или сбое запроса. |
| AURIStr | Обязательный, в зависимости от версии метода | string | URI, который определяет местоположение запрашиваемого вами ресурса |
BeginExecute возвращает объект (IAsyncResult), который начинает заполняться данными ответа асинхронно.
Когда все данные ответа принимаются в IAsyncResult, вызывается функция обратного вызова или обработчик события, и в качестве параметра предоставляется соответствующий IAsyncResult.
Вызовите EndAsyncURL с целевым IAsyncResult в качестве параметра, чтобы убедиться, что операция прошла успешно.
EndAsyncURL вызывает исключение, если во время запроса возникла какая-либо проблема, например тайм-аут.
Обычно вы вызываете EndAsyncURL внутри функции обратного вызова или обработчика события, где вы знаете, что данные ответа уже получены. Однако вы можете вызвать EndAsyncURL в любой момент, что останавливает выполнение программы до тех пор, пока не будут получены данные ответа, что фактически превращает асинхронный запрос в синхронный.
