Einfacher Proxy-Server

L

learner

Gast
Hi,

ich versuche gerade, mir einen kleinen Proxy-Server zu basteln. Dazu habe ich jetzt schon jegliche gefundenen Code-Beispiele aus dem Netz getestet, aber irgendwie habe ich mit allen meine Probleme:
Ich möchte auf einem festgelegten Port einen Proxy-Server errichten. Surft der Browser über diesen Port, soll der Java-Proxy den kompletten Inhalt abfangen und weiterleiten. Grund: Ich möchte alle Bilder der Seite extrahieren.

Mein Problem ist, dass es i.d.R. mit einer Seite geht, wenn ich dann aber weitersurfen möchte, wird wieder die gleiche Seite besucht.
Kennt jemand vllt. ein gutes (und möglichst schnelles) Beispiel für einen kleinen Proxy-Server?
 
L

learner

Gast
Den Sourcecode auslesen?
Ich würde mich (bzgl. weiterer Ideen, die ich noch habe) eher für den Proxy interessieren...
 
G

Gast2

Gast
ach stimmt ... das Parsen übernimmt ja der Browser und fordert das Bild an - das braucht ja nur noch umgeleitet werden
 
L

learner

Gast
... ja, aber genau da steckt ja das Problem.
Mein jetziger Code ist an dieses Bsp. angelehnt: A simple single-threaded proxy server : SSL Server SocketNetwork ProtocolJava

Das Einzige, was ich abgeändert habe: mein Code arbeitet nicht über Parameter, sondern liest den HostName des Servers direkt aus dem Request des Clients.
Zusammengefasst: ich habe für jeden Request des Clients einen Thread, der den Request an den Server weiterleitet und den eingehenden Traffic vom Server an den Client weitergibt. Soweit so gut, das funktioniert auch. Das Problem ist jedoch, dass ich - aus mir absolut nicht nicht ersichtlichen Gründen - immer nur eine Seite besuchen kann. Obwohl (ich lasse mir über println den jeweilgen Request ausgeben) die Requests eindeutig auf eine andere Seite verweisen, wird mir stets immer nur die erste angegebene Domain geöffnet.

Irgendeine Idee?
 
L

learner

Gast
Okay... jetzt bin ich etwas schlauer:

Es liegt am "keep-alive". Auf jeden Fall wird meine Funktion, die die Sockets schließen soll, nie erreicht, weil er beim 'read' des InputStreams hängen bleibt. Damit nimmt der darauf folgende Thread seltsamerweise den gleichen Server wieder auf.

Allerdings funktioniert socket.setKeepAlive(false); nicht wirklich. Also habe ich es mit einem Timeout versucht... jedoch mit der wirklich grandiosen Folge, dass er meine read-Funktion abbricht, obwohl er noch fleißig am Lesen ist. Langsam habe ich keine Haare mehr auf dem Kopf...
 

noxan

Mitglied
Ich hab mir auch mal einen relativ primitiven Proxy programmiert ... hab mir damals auch aus dem HTTP-Header den "HostName" ausgelesen und diese dann mit URL und URLConnection geöffnet:
Java:
URL url = new URL(request.getUri());
URLConnection con = url.openConnection();
byte[] buffer = new byte[BUFFER_SIZE]; 
InputStream in = con.getInputStream();

int len = in.read(buffer, 0, BUFFER_SIZE);
while(len!=-1) {
	out.write(buffer, 0, len);
	len = in.read(buffer, 0, BUFFER_SIZE);
}
in.close();

Könntest vielleicht auch mal so probieren ... sonst kann ich ohne Quelltext schlecht sagen warum es bei dir nicht funktionieren will...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Einfacher Proxy Server Netzwerkprogrammierung 29
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
A Socket Wie ein einfacher Multithreads Service mit Telnet als Client mit Observable/Observer gelöst.... Netzwerkprogrammierung 0
B Einfacher Server mit Jetty Netzwerkprogrammierung 3
F RMI einfacher Chat - Callbacks(?) funktionieren nicht Netzwerkprogrammierung 7
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
S Socket Einfacher filetransfer Netzwerkprogrammierung 10
M Socket Probleme mit einfacher Socketverbindung Netzwerkprogrammierung 3
L einfacher server ohne threads Netzwerkprogrammierung 4
P Einfacher Server/Client Netzwerkprogrammierung 5
A einfacher Transfer mit Applets Netzwerkprogrammierung 4
C Einfacher Filedownload mit Sockets geht nicht für pdffiles Netzwerkprogrammierung 16
T Einfacher Servlet-Server Netzwerkprogrammierung 8
S Einfacher Multiuser chat in java Netzwerkprogrammierung 18
Dann07 Proxy funktioniert nicht so wie gewünscht! Netzwerkprogrammierung 18
T Proxy mit Zusatzfunktion Netzwerkprogrammierung 1
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
J FTP FTP Zugriff über Proxy Server Netzwerkprogrammierung 1
M Proxy und HTTPS Netzwerkprogrammierung 3
C Proxy Server - Antwort auf welchem Port Netzwerkprogrammierung 1
M Socket 2x Proxy multithread-server mit Cross Verbindung Netzwerkprogrammierung 0
N Proxy gibt keine Antwort zurück Netzwerkprogrammierung 5
M HTTP Reverse Proxy mit dynamischen Servern? Netzwerkprogrammierung 7
L Proxy für Dateidownload? Netzwerkprogrammierung 3
M Proxy Einstellungen auslesen Netzwerkprogrammierung 2
T Socket Java HTTP-Proxy Netzwerkprogrammierung 3
J HTTP Proxy nutzen Netzwerkprogrammierung 4
M ganymed-ssh2.har: ftp-Verbindung über ftp-Proxy Netzwerkprogrammierung 2
S Proxy Authentifizierung HtmlUnit Netzwerkprogrammierung 8
S Proxy Authentifizierung Netzwerkprogrammierung 3
G Java Client Proxy Skript Netzwerkprogrammierung 3
Dit_ UDP Verbindung durch Proxy Netzwerkprogrammierung 4
P Proxy für Anwendung setzten Netzwerkprogrammierung 3
A UCP Connection über Proxy möglich? Netzwerkprogrammierung 7
trash HTTP Internet Connection bei Proxy ?! Netzwerkprogrammierung 3
M FTP-Connection über FTP-Proxy Netzwerkprogrammierung 20
M HttpURLConnection und Proxy Netzwerkprogrammierung 2
M Verbindung über Proxy// Problem mit Outputstream bei URLConn Netzwerkprogrammierung 5
alexpetri simpler Proxy geht nicht Netzwerkprogrammierung 7
G Proxy oder Forwarding? Netzwerkprogrammierung 16
R xml via SSL über Proxy Netzwerkprogrammierung 2
R URLConnection via Proxy mit Authentification Netzwerkprogrammierung 5
S URLConnection über Proxy Netzwerkprogrammierung 4
J RMI Fehler beim Proxy Netzwerkprogrammierung 2
H FTP Client mit Squid als Proxy Netzwerkprogrammierung 8
G Proxy und mehrere Verbindungen Netzwerkprogrammierung 4
W java ueber proxy verbinden Netzwerkprogrammierung 3
reibi Proxy macht Problem abeim URL-Aufruf Netzwerkprogrammierung 3
G HTTP Client :: Komme nicht über den Proxy Netzwerkprogrammierung 7
A HTTPS-Request via Proxy mit Konfigurationsskript Netzwerkprogrammierung 3
T Erstellung eines Proxy Netzwerkprogrammierung 11
R proxy für java anwendung angeben [resolved] Netzwerkprogrammierung 15
T Proxy will einfach nicht mein prog akzeptieren Netzwerkprogrammierung 3
F Proxy: HTTP- Verbindung Netzwerkprogrammierung 2
B Url aufruf über Proxy Netzwerkprogrammierung 2
G Probleme bei Proxy-Server! Netzwerkprogrammierung 5
I Fehlermeldung bei Verbindung über SOCKS Proxy Netzwerkprogrammierung 4
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
W Socket Server -> lesen von / schreiben zu php-script Netzwerkprogrammierung 6
E Server mit GUI Netzwerkprogrammierung 4
E FTP FTPS Server gibt Fehlernachricht "522 SSL/TLS required on the data channel" zurück Netzwerkprogrammierung 1
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
Eigenen Rechner als Server? Netzwerkprogrammierung 16
FrankenDerStein HTTP Https Server Bibliothek für Linux und Android gesucht. Netzwerkprogrammierung 7
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
J Datei Download vom Server Netzwerkprogrammierung 8
izoards Mehrere TCP Verbindungen auf einen Server [alles Local] Netzwerkprogrammierung 2
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
J Client-Server und SOAP Netzwerkprogrammierung 23
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
J Multithreaded-Server Netzwerkprogrammierung 21
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
S Von Java auf passwortgeschützten Server zugreifen + Umgang mit Ports Netzwerkprogrammierung 28
S Probleme bei Java-Installation auf Server (Linux/Shell/Terminal) Netzwerkprogrammierung 6
S Java: Anbindung an einen realen Server? (+ Portfreigabe) Netzwerkprogrammierung 8
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
H Socket Kann ein Socket server 2 dimensionale Arrays empfangen und versenden? Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
F NodeJs-Server auf Firebase hosten ? Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
H HTTP Glassfish (v5) Application Server - Bibliothek zur Verfügung stellen Netzwerkprogrammierung 4
B HttpClient - Server (Jetty) - getInputStream - EOF Netzwerkprogrammierung 3
P TCP-Server Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
F Server für Java Applikationen Netzwerkprogrammierung 16
G Server-Client IO Problem Netzwerkprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben