Ошибка 403 при попытке получить доступ к HTTP-серверу с Indy 10.6.2 в Delphi - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь связаться с одним сервисом, но постоянно получаю ошибку 403.Когда я пробую SoapUI, у него нет проблем с передачей запросов.Куда я иду не так?

Я использую openssl-1.0.1c-x64_86-win64.

  var
    urlADR, resTXT, resp_CMD, json : string;
    IdHTTP : TIdhttp;
    IdSSLIO  : TIdSSLIOHandlerSocketOpenSSL;
    JsonToSend : TStringStream;
    respCode : Integer;

begin

  urlADR := 'https://mvr.bg/webservices/api/Document/CheckDocument';
  Json := '{"documentKindCode":"6729","documentNumber":"123456789","birthsday":"01.01.1977"}';

  JsonToSend := TStringStream.Create(Utf8Encode(Json));       // D2007 and earlier

  IdSSLIO := TIdSSLIOHandlerSocketOpenSSL.Create(self);
  IdHTTP  := TIdhttp.Create(self);
  try
    IdSSLIO.Host := 'mvr.bg';
    IdSSLIO.SSLOptions.SSLVersions := [sslvTLSv1_2];
    with IdHTTP do begin
      IOHandler := IdSSLIO;
      Request.ContentType    := 'application/json';
      Request.AcceptEncoding := 'gzip,deflate';
      Request.Connection     := 'Keep-Alive';
      Request.Host           := 'mvr.bg';
      Request.CharSet        := 'utf-8';

      resp_CMD := POST( urlADR, JsonToSend );

    end;

    ShowMessage(resp_CMD);

  finally
    IdSSLIO.Free;
    IdHTTP.Free;
    JsonToSend.Free;
  end;
...