Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Timeout bei Rest-Request verringern

  Alt 8. Mai 2017, 10:40
Ja, easy!

Delphi-Quellcode:
uses
  Winapi.Windows,
  Winapi.WinHTTP,
  DDetours;

var
  TrampolineWinHttpOpenRequest: function(hConnect: HINTERNET; pwszVerb: LPCWSTR; pwszObjectName: LPCWSTR; pwszVersion: LPCWSTR;
    pwszReferrer: LPCWSTR; ppwszAcceptTypes: PLPWSTR; dwFlags: DWORD): HINTERNET; stdcall = nil;

function InterceptWinHttpOpenRequest(hConnect: HINTERNET; pwszVerb: LPCWSTR; pwszObjectName: LPCWSTR; pwszVersion: LPCWSTR;
  pwszReferrer: LPCWSTR; ppwszAcceptTypes: PLPWSTR; dwFlags: DWORD): HINTERNET; stdcall;
begin
  Result := TrampolineWinHttpOpenRequest(hConnect, pwszVerb, pwszObjectName, pwszVersion, pwszReferrer, ppwszAcceptTypes, dwFlags);
  Winapi.WinHTTP.WinHttpSetTimeouts(Result, 10, 10, 10, 10); // Hier dann deine gewünschten Timeouts eingeben (vllt. über Class Property oder so!)
end;

procedure MakeMagic;
begin
  if not Assigned(TrampolineWinHttpOpenRequest) then
  begin
    @TrampolineWinHttpOpenRequest := InterceptCreate(@WinHttpOpenRequest, @InterceptWinHttpOpenRequest);
  end;
end;
  Mit Zitat antworten Zitat