AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Proxy für TWebBrowser setzten
Thema durchsuchen
Ansicht
Themen-Optionen

Proxy für TWebBrowser setzten

Ein Thema von Uncle Cracker · begonnen am 30. Mär 2005 · letzter Beitrag vom 1. Apr 2005
Antwort Antwort
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#1

Proxy für TWebBrowser setzten

  Alt 30. Mär 2005, 15:24
Hab jetzt schon ne Menge in der DP darüber gelesen und mitbekommen, dass das nicht wirklich funktioniert.

Jetzt wollte ich es anders probieren, indem ich die Internetoptionen ändere und dann einen Proxy nutzte. Aber irgendwie funktioniert das nicht so wie ich das will
Ich habe folgenden Schlüsselgefunden wo die Informationen drin stehen:
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Internet Settings\ -> "ProxyServer"

Doch wenn ich jetzt den Wert ändere passiert trotzdem nix. Weiß zufällig jemand wie ich diese Option ändern kann bzw. ob es vielleicht noch eine andere Methode gibt per TWebBrowser "anonym" über einen Proxy eine Seite aufzurufen...

Vielleicht hatte schonmal jemand das Problem und hat es irgendwie geschafft...


Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#2

Re: Proxy für TWebBrowser setzten

  Alt 31. Mär 2005, 17:30
Also ich habe jetzt noch ein bisschen rumprobiert, aber ich bekomme es einfach nicht hin. Ich habe jetzt mal die Registrywerte geändert, doch da passiert nichts...

Es gibt ja die Methode die Werte auszulesen http://www.swissdelphicenter.ch/de/showcode.php?id=2110 bzw. http://www.delphipraxis.net/internal...ct.php?t=22647

Wenn das auslesen möglich ist, dann muss man das doch auch irgendwie auch selber schreiben können

Könnte mir vielleicht jemand bei dem Problem helfen?


Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: Proxy für TWebBrowser setzten

  Alt 31. Mär 2005, 17:32
Hi,

Habe mal diese Unit gefunden. Stelle sie einfach mal (ungetestet) ins Forum.

Delphi-Quellcode:
unit e0_Proxy;

interface

procedure SaveBeginInetSetting;
function RestoreBeginInetSetting: Boolean;
function InetSessionToUserSetting(aEnProxy: Boolean;
  aStrIP, aStrPort: string): Boolean;
function InetSessionToRegistrySetting: Boolean;

implementation

uses
  windows, WinInet, UrlMon, SysUtils;

var
  spBeginProxyStruct: PInternetProxyInfo;
  len_spBeginProxyStruct: DWORD;



procedure SaveBeginInetSetting;
begin
  InternetQueryOption(nil, INTERNET_OPTION_PROXY, nil, len_spBeginProxyStruct);
  spBeginProxyStruct := AllocMem(len_spBeginProxyStruct);

  InternetQueryOption(nil, INTERNET_OPTION_PROXY, spBeginProxyStruct, len_spBegin
    ProxyStruct);
end;


function RestoreBeginInetSetting: Boolean;
var
  dreserved: DWORD;
  x: DWORD;
  p: INTERNET_PROXY_INFO;
begin
  Result := False;

  p.dwAccessType := spBeginProxyStruct^.dwAccessType;
  p.lpszProxyBypass := spBeginProxyStruct^.lpszProxyBypass;
  p.lpszProxy := spBeginProxyStruct^.lpszProxy;
  x := SizeOf(p);
  dreserved := 0;
  if UrlMkSetSessionOption({INTERNET_OPTION_REFRESH}
    INTERNET_OPTION_PROXY, @p, x, dreserved) <> S_Ok then
  begin
    Exit;
  end;
  Result := True;
end;


function InetSessionToUserSetting(aEnProxy: Boolean;
  aStrIP, aStrPort: string): Boolean;
var
  p: INTERNET_PROXY_INFO;
  x: Integer;
  dreserved: DWORD;
begin
  Result := False;
  FillChar(p, SizeOf(p), 0);

  if aEnProxy then
  begin
    p.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
    p.lpszProxy := PChar(aStrIP + ':' + aStrPort);
  end
  else
  begin
    p.dwAccessType := INTERNET_OPEN_TYPE_DIRECT;
    p.lpszProxy := '';
  end;

  p.lpszProxyBypass := '';
  x := SizeOf(p);
  dreserved := 0;
  if UrlMkSetSessionOption(INTERNET_OPTION_PROXY, @p, x, dreserved) <> S_OK then
  begin
    Exit;
  end;
  Result := True;
end;


function InetSessionToRegistrySetting: Boolean;
var
  hk: HKEY;
  s: string;
  BufSize: Integer;
  posStr: Integer;
  retType: DWORD;
  isUsingProxy: DWORD;
begin
  Result := False;
  s := '';
  if RegOpenKeyEx(HKEY_CURRENT_USER,
    'SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings',
    0,
    KEY_ALL_ACCESS,
    hk) = ERROR_SUCCESS then
  begin
    BufSize := SizeOf(isUsingProxy);
    isUsingProxy := 0;
    retType := REG_DWORD;
    RegQueryValueEx(hk,
      'ProxyEnable',
      nil, @retType, @isUsingProxy, @bufSize);
    if isUsingProxy > 0 then
    begin
      SetLength(s, MAX_PATH);
      BufSize := Length(s);
      FillChar(s[1], MAX_PATH, #0);
      retType := REG_NONE;
      RegQueryValueEx(hk,
        'ProxyServer',
        nil, @retType, @s[1], @bufSize);
      SetLength(s, bufsize);
      if bufsize > 0 then
        if s[Length(s)] = #0 then SetLength(s, Length(s) - 1);
      if Length(s) > 0 then
      begin
        posStr := Pos('http=', LowerCase(s));
        if posStr > 0 then
          s := Copy(s, posStr + 5, Length(s));
        posStr := Pos(';', s);
        if posStr > 0 then
          s := Copy(s, 1, posStr - 1);

        Result := InetSessionToUserSetting(True, s, '');
      end;
    end
    else
      Result := InetSessionToUserSetting(False, '', '');
    RegCloseKey(hk);
  end;
end;
end.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Uncle Cracker
Uncle Cracker

Registriert seit: 30. Mär 2003
Ort: Freital
694 Beiträge
 
#4

Re: Proxy für TWebBrowser setzten

  Alt 1. Apr 2005, 18:37
Entweder ich bin zu dämlich das anzuwenden oder es funktioniert wirklich nicht...

Also wenn ich den Code ausführe und Werte eintrage werden die trotzdem irgendwie nicht gespeichert

Hat denn jemand vielleicht noch eine andere Möglichkeit?


Danke UC
I wish it was legal to marry software because I'm madly in love with Delphi...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz