Базовая аутентификация с HTTPRIO в Delphi 10.3 - PullRequest
0 голосов
/ 22 февраля 2019

Произошло изменение в событии HTTPRIO.HTTPWebNode.OnBeforePost в Delphi 10.3.

До Delphi 10.3 обработчик событий был определен таким образом, и он работал отлично:

procedure TForm1.HTTPRIO1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp;
  Data: Pointer);
var
  auth: String;
begin
  auth := 'Authorization: Basic ' + IdEncoderMIME1.EncodeString('user:password');
  HttpAddRequestHeaders(Data, PChar(auth), Length(auth), HTTP_ADDREQ_FLAG_ADD);
end;

В Delphi 10.3 параметр Data пропал, вместо THTTPClientдано, и я понятия не имею, как реализовать обычную аутентификацию с его помощью:

procedure TForm1.HTTPRIO1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp;
  Client: THTTPClient);
var
  auth: String;
begin
  auth := 'Authorization: Basic ' + IdEncoderMIME1.EncodeString('user:password');
  ???
end;

Любые подсказки?

1 Ответ

0 голосов
/ 22 февраля 2019

Попробуйте использовать свойства запроса Username и Password, например:

HTTPReqResp.UserName := 'user';
HTTPReqResp.Password := 'password';

Если это не работает, попробуйте использовать клиент CustomHeaders свойство вместо, например:

Client.CustomHeaders['Authorization'] := 'Basic ' + IdEncoderMIME1.EncodeString('user:password');
...