Due to a bug in the Datasnap.DSHTTPClient.pas unit, the TDSHTTP.PrepareRequest procedure only applies proxy server settings when a proxy username is specified.
procedure TDSHTTP.PrepareRequest(const ARequest: IHTTPRequest);
var
LIPRequest: TIPHTTPRequest;
I: Integer;
Lprox: TProxySettings;
begin
if FProxyConnectionInfo <> nil then
begin
Lprox := TIPProxyConnectionInfo(FProxyConnectionInfo).FProxySettings;
//if Lprox.UserName <> emptystr then // <-- Comment this line out
FHTTPClient.ProxySettings := TProxySettings.Create(Lprox.Host, Lprox.Port, Lprox.UserName, Lprox.password, Lprox.Scheme);
end;
To resolve the issue, this line should be commented out:
//if Lprox.UserName <> emptystr then // <-- Comment this line out