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,