Entwickler-Ecke
Internet / Netzwerk - TwebBrowser und Proxy-Config
MKSlayer - Do 05.06.08 16:13
Titel: TwebBrowser und Proxy-Config
wie kann man denn bei einen TwebBrowser den Proxy einstellen?
Habe schon überall gelehsen da steht nur da des der angeblich die einstellung von Internet Explorer nimmt..
aber leider macht der das nicht bei mir
Könnt ihr mir weiterhelfen oder weingstens mir nen Tritt in die richtige richtung geben?
Schon mal Danke im Voraus
Mfg MKSlayer
Moderiert von
Narses: Titel geändert.
Airtrox - Do 24.03.11 23:32
Hallo,
tut mir leid, dass ich diesen Thread rauskrame, aber ich habe die selbe Frage:
Ich will über einen Proxy aus einer Liste die Verbindung zu einer Seite aufbauen. Dies sollte am besten ohne weiteres im programm machbar sein. Falls es bessere Alternativen zum TWebBrowser gibt (außer Indys, denn die Seite soll offen bleiben, damit man darauf interagieren kann), so bin ich dafür offen.
lg
Thom - Sa 26.03.11 21:31
@
Airtrox:
Zur Anzeige von Webseiten in eigenen Anwendungen eignet sich meines Wissens nach nur das Internet Explorer ActiveX. Außer Du nimmt einen Open Source-Browser und schreibst den um... :wink:
Nun muß das aber nicht unbedingt die Komponente TWebBrowser sein, sondern könnte auch
TEmbeddedWB [
http://www.bsalsa.com/] sein, der ebenfalls auf dem IE aussetzt. Dort läßt sich der Proxy bequem einstellen.
Für
TWebBrowser geht's natürlich auch, wenn auch etwas aufwändiger:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71:
| function SetProxy(Server: String): Boolean; type INTERNET_PER_CONN_OPTION = record dwOption: DWORD; Value: record case Integer of 1: (dwValue: DWORD); 2: (pszValue: {$IFDEF DELPHI2009_UP}PWideChar{$ELSE}PAnsiChar{$ENDIF}); 3: (ftValue: TFileTime); end; end; LPINTERNET_PER_CONN_OPTION = ^INTERNET_PER_CONN_OPTION; INTERNET_PER_CONN_OPTION_LIST = record dwSize: DWORD; pszConnection: LPTSTR; dwOptionCount: DWORD; dwOptionError: DWORD; pOptions: LPINTERNET_PER_CONN_OPTION; end; LPINTERNET_PER_CONN_OPTION_LIST = ^INTERNET_PER_CONN_OPTION_LIST; const INTERNET_PER_CONN_FLAGS = 1; INTERNET_PER_CONN_PROXY_SERVER = 2; INTERNET_PER_CONN_PROXY_BYPASS = 3; INTERNET_PER_CONN_AUTOCONFIG_URL = 4; INTERNET_PER_CONN_AUTODISCOVERY_FLAGS = 5; PROXY_TYPE_DIRECT = $00000001; PROXY_TYPE_PROXY = $00000002; PROXY_TYPE_AUTO_PROXY_URL = $00000004; PROXY_TYPE_AUTO_DETECT = $00000008; INTERNET_OPTION_REFRESH = 37; INTERNET_OPTION_PER_CONNECTION_OPTION = 75; INTERNET_OPTION_SETTINGS_CHANGED = 39; var OptionsList: INTERNET_PER_CONN_OPTION_LIST; BufSize: DWORD; HInternet: Pointer; Agent: String; begin Result:=false; BufSize:=SizeOf(OptionsList); OptionsList.dwSize:=BufSize; OptionsList.pszConnection:=nil; OptionsList.dwOptionCount:=3; OptionsList.pOptions:=AllocMem(3*SizeOf(INTERNET_PER_CONN_OPTION)); try if not assigned(OptionsList.pOptions) then Exit; OptionsList.pOptions^.dwOption:=INTERNET_PER_CONN_FLAGS; OptionsList.pOptions^.Value.dwValue:=PROXY_TYPE_DIRECT or PROXY_TYPE_PROXY; inc(OptionsList.pOptions); OptionsList.pOptions^.dwOption:=INTERNET_PER_CONN_PROXY_SERVER; OptionsList.pOptions^.Value.pszValue:=PChar(Server); inc(OptionsList.pOptions); OptionsList.pOptions^.dwOption:=INTERNET_PER_CONN_PROXY_BYPASS; OptionsList.pOptions^.Value.pszValue:='local'; dec(OptionsList.pOptions,2); Agent:=ExtractFileName(Application.ExeName); hInternet:=InternetOpen({$IFDEF DELPHI2009_UP}PWideChar{$ELSE}PAnsiChar{$ENDIF} (Agent),INTERNET_OPEN_TYPE_DIRECT,nil,nil,0); try Result:=InternetSetOption(hInternet,INTERNET_OPTION_PER_CONNECTION_OPTION, @OptionsList,BufSize); InternetSetOption(hInternet,INTERNET_OPTION_REFRESH,nil,0); finally InternetCloseHandle(hInternet); end; finally FreeMem(OptionsList.pOptions); end; end; |
Siehe dazu auch die Diskussion in der
Delphi-Praxis [
http://www.delphipraxis.net/158409-tembeddedwb-multiproxy.html].
Noch eine Frage bezüglich der von Dir abgelehnten Indy-Komponenten: Die kapseln doch nur die verschiedensten Übertragungsprotokolle, aber nicht die Darstellung der Daten!? :gruebel:
Mit
TIdHTTPProxy wird übrigens ein Proxy-Server mitgeliefert... Zu den Problemen damit siehe Link zur Delphi-Praxis.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!