Einzelnen Beitrag anzeigen

Benutzerbild von Minz3
Minz3

Registriert seit: 18. Jul 2019
Ort: Thüringen
48 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Indy - socket error #10061 & Unexpected EOF

  Alt 3. Feb 2020, 10:45
Delphi-Version: 10.1 Berlin
Huhu,

ich versuche mit den Indy Komponenten auf eine API zuzugreifen.

Bei meiner Get Methode, kommt die Socket Fehlermeldung #10061 "Verbindung abgelehnt".
Bei meiner Post Methode, kommt die EOF Meldung "EOF festgestellt, da gegen das Protokoll verstößt."

Mit Postman habe ich die Requests nochmal überprüft und da gehts. Die Verbindung scheint zu stimmen und die API ist generell ansprechbar.
Ich nutze die IdHTTP und die IdSSLIOHandlerSocketOpenSSL Komponenten von Indy.

IdHTTP Settings (abseits vom Default):
ProxyPort: 8888
ProxyServer: 127.0.0.1

SSLHandler Settings (abseits vom Default):
SSLVersion: TLSv1_1
SSLHost: 'NB1819157' {Notebook Name}
SSLPort: 5001

Get Methode:
Delphi-Quellcode:
var
  ResponseStream: TFileStream;
begin
  ResponseStream := TFileStream.Create(edtDatei.Text, fmCreate);
  try
    IdHTTP.Get(edtURL.Text, ResponseStream);
    lbHTTPResponse.Caption := 'HTTP-Status: ' + IntToStr(IdHTTP.ResponseCode);
  finally
    ResponseStream.Free;
  end;
  ShowMessage('Download abgeschlossen')
end;
Post Methode:
Delphi-Quellcode:
var
  ResponseStr: string;
  Data : TStringStream;
begin
  with TIdHTTP.Create(nil) do
  try
    Request.ContentType := 'application/atom+xml';
    Data := TStringStream.Create('', CP_UTF8);
    try
      if not SystemOptionsManager[11472].AsString.IsEmpty then
      begin
        memo1.lines.Add('https://' + SystemOptionsManager[11472].AsString {'nb1819157:5001'} + '/loginIntegration?' + URLBuilder(Username, Password, Database));
        Data.WriteString(URLBuilder(Username, Password, Database));
        Request.CharSet := 'UTF-8';
        ResponseStr := Post('https://'+SystemOptionsManager[11472].AsString+'/loginIntegration?', Data);
      end
      else
      begin
        ShowMessage('Keine URL zur API angegeben.');
      end;
    finally
      Data.Free;
    end;
  finally
    Free;
  end;
end;
Hoffe es hat jemand eine Idee dazu, ich bin dankbar über jeden hilfreichen Ansatz.

Grüße!
Attention:
Brain.exe has stopped working. Reboot the system in 3... 2... 1... ... ... ... Attempt failed.
  Mit Zitat antworten Zitat