Einzelnen Beitrag anzeigen

Achim Kalwa

Registriert seit: 2. Apr 2005
Ort: Lienen
110 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi 10.3 Rio: THTTPClient und Proxy; Status 407 authenticationrequired

  Alt 8. Aug 2019, 14:16
Schön und gut. Und wie kann ich dieser Klasse mitteilen, dass der in Windows bereits eingestellte Proxy verwendet werden soll?
Ich beantworte meine Frage mal selber, vielleicht hilft es ja mal jemandem:
THTTPClientHelper.UseDefaultCredentials
ist die gesuchte Einstellung.
Code:
 
  LStream := TFileStream.Create(aFileName, fmCreate or fmShareExclusive);
  LClient := THTTPClient.Create;
  LClient.UseDefaultCredentials := True; // <-- added
  ResCode := LClient.Get(aURL, LStream);
  if ResCode.StatusCode = 200 then...
Und für den SOAP-WebService muss der vom WSDL-Importer erzeugte Code ergänzt werden:
Code:
uses
  ...
  Soap.SOAPHTTPTrans; // for THTTPReqRespHelper

function GetIService(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): IService;
var
  RIO: THTTPRIO;
begin
  ...
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as IService);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;

    RIO.HTTPWebNode.UseDefaultCredentials := True; // <-- added

  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
Gruß vom Teutoburger Wald,
Achim
  Mit Zitat antworten Zitat