Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Proxyservereinstellungen von Windows auslesen

  Alt 7. Nov 2007, 08:55
Moin,

du benötigst zwei Teilfunktionen: Du musst dir zuerst einmal die Proxy-Informationen beschaffen (Proxy aktiviert?, Proxy-Server und Port, Bypass-Liste). Später musst du bei aktiviertem Proxy für jede URL prüfen, ob sie von der Bypass-Liste abgedeckt wird.

Die Proxy-Informationen kannst du auf verschiedenen Wegen erhalten: WinInet (ab W95, nicht für services) oder WinHTTP (ab W2K, auch für services).

Hier ein wenig Code für WinInet:

Delphi-Quellcode:
function GetProxyInfo(var proxy: string; bypassList: TStrings): Boolean;
var
  pi: PInternetProxyInfo;
  dwSize: DWORD;
  i: Integer;
begin
  InternetQueryOption(nil, INTERNET_OPTION_PROXY, nil, dwSize);
  GetMem(pi, dwSize);
  InternetQueryOption(nil, INTERNET_OPTION_PROXY, pi, dwSize);
  Result := pi.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
  try
    proxy := pi.lpszProxy;
    i := Pos(' ', proxy); // proxy chaining?
    if i > 0 then // grab first only
      SetLength(proxy, Pred(i));
    bypassList.CommaText := pi.lpszProxyBypass;
  finally
    FreeMem(pi);
  end;
end;
Bei direkter Internetverbindung gibt die Funktion False zurück.

Freundliche Grüße
  Mit Zitat antworten Zitat