Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
961 Beiträge
 
#1

Fehler 12030 beim Abruf über TNetHTTPClient

  Alt 25. Okt 2022, 18:26
Hi,
ich rufe von einer Datenquelle über http JSON-daten ab. Bei einigen kleineren Statusinformation klappt das auch soweit wie erwartet.

Jetzt will ich eine JSON-Liste abrufen, die etwas länger ist. Firefox benötigt mitunter 10 Sekunden.
Ich nutze Systen.Net.HttpClientComponent.TNetHTTPClient. Dieser bricht nach ablauf des Timeouts immer mit dem Fehler 12030. Wenn die verwendete URL aber in den Browser kopiere, dann läuft das einwandfrei.
Einer eine Idee woran das liegen könnte?

Delphi-Quellcode:
function TDeviceDataThread.RequestServices(var ResponseJSON: string): Integer;
var
  httpClient: TNetHTTPClient;
  Response: IHTTPResponse;
  SS: TStringStream;
  LogText: string;
  url: string;
begin
  httpClient:=TNetHTTPClient.Create(nil);
  SS:=TStringStream.Create;
  try
    try
      httpClient.ConnectionTimeout:=600000;
      httpClient.ResponseTimeout:=600000;
      url:='http://'+FUser+':'+FPass+'@'+FIP+':'+FPort.ToString+'/api/getallservices';
      Response:=httpClient.get(url, SS);
      SS.Position:=0;
      LogText:='JSON: '+SS.DataString;
      ResponseJSON:=SS.DataString;
      Result:=Response.StatusCode;
    except
      on E: Exception do
      begin
        LogText:='Fehler getallservices: '+E.Message+' '+LogText;
        DoLog(LogText);
        Result:=403;
      end;
    end;
  finally
    httpClient.Free;
  end;
end;
Miniaturansicht angehängter Grafiken
fehler_tnethttpclient.png  
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat