Advanced   Java   Services
Proxy Einstellungen
Back Next Up Home

basics


Während man zuhause mit seiner privaten Maschine problemlos mit der Klasse URLConnection arbeiten kann, wird man in einem internen Netzwerk dann keinen Erfolg haben, wenn, wie üblich, das interne Netzwerk durch einen Proxyserver vom WWW abgeschirmt wird. Browser etwa müssen dann die IP-Adresse des Proxyservers kennen, damit sie die vom Benutzer eingegebenen URLs an diese Adresse weiterleiten können. Die Anfragen auf Weiterleitung an den Proxyserver werden (natürlich) über einen eigenen Port abgewickelt, der nicht der HTTP-Port 80 sein kann. Quasistandard für diese Anfragen ist der Port 3128, aber das ist nicht zwingend. Über IP-Adresse und Port kann der Verwalter des Netzes Auskunft geben.

Die weiterzuleitenden Anfragen werden nach dem Übertragungsprotokoll unterschieden. Es werden vier verschiedene Standardprotokolle unterstützt:

Für Anfragen nach den ersten drei Protokollen wird meist der gleiche Port (3128) benützt.

Setzen der Proxyeinstellungen


SystemProperties

Auch JavaApplikationen, die eine Netzverbindung aufbauen, müssen hinter einem Proxy ihre Anforderungen an diesen weiterleiten. Wie ein Browser macht das die JavaVirtualMachine zur Laufzeit automatisch, vorausgesetzt sie weiß, daß ein Proxy existiert. Dazu wird die Tabelle der Systemproperties nach entsprechenden Einträgen durchsucht. Diese Tabelle ist eine Sammlung von key/value Paaren, in denen Informationen über die lokale Machine und über die JRE hinterlegt ist. Sie wird beim Start eine Javaprogramms automatisch generiert und ist über die statische Methode

abrufbar. In diese Tabelle muß man (am besten) beim Start eines Programms der JRE mitteilen, daß die Anwendung hinter einem Proxy ins Netz geht. Hat man das erledigt, arbeitet man mit der Klasse URLConnection genauso wie ohne Proxy.

Setzen der SystemProperties für einen Proxy

Dies muß für jedes Protokoll geschehen (genau wie bei einem Browser), ist aber jeweils in zwei Zeilen erledigt:

Die Einträge sind transient

Diese Einträge werden beim Beenden der Applikation nicht gespeichert. Eine andere Applikation bekommt also eine saubere Propertiestabelle !

top Back Next Up Home