Erstellung eines Proxy

Status
Nicht offen für weitere Antworten.
T

TR_Watto

Gast
Hallo,

es geht darum einen Proxy in Java zu erstellen der aus einer Webseite die Bilder herausfiltert. Der Browser soll so konfiguriert werden das der Proxy verwendet wird.

Mein Problem ist nun das ich die Aufgabenstellung garnicht so richtig verstehe. Hab zwar schon realtiv viel Erfahrung mit Java, was Netzwerkprogrammierung angeht hab ich allerdings noch garnichts gemacht. Es wäre super wenn ich mir sagen könntet was genau mit dieser Aufgabenstellung gemeint ist, welchen Sinn sie hat und wenn möglich auch wie die Lösung ungefähr aussehen könnte.

vorab schonmal vielen Dank

Gruss Watto
 

Mag1c

Top Contributor
Hi,

so ungefähr müsste dein Proxy arbeiten:

0. lausche auf ein festgelegten Port
1. warte auf Anfragen vom Browser
2. nehme HTTP-Request vom Browser entgegen
3. falls der Request ein Bild anfordert (Dateiendung .gif oder .jpg oder .png) schicke als Antwort einen Fehler oder ein Dummy-Bild an den Browser zurück (zurück zu 1.)
4. ermittle das Ziel aus der angeforderten URL
5. kontaktiere den eigentlichen Web-Server und schicke ihm die URL
6. nehme die Daten vom Web-Server in Empfang
7. schicke die empfangenen Daten an den Web-Browser
8. und zurück zu 1.

Gruß
Mag1c
 

Nick H.

Bekanntes Mitglied
warum das denn?

ein Proxy muss einfach den Request zB vom Browser weiterleiten, ie antwort abwarten und zurück zum Browser schicken

warum sollte man denn die Bilder aufhalten
das ergibt doch keinen Sinn
das würde das ganz ja nichtmal leichter machen, sondern schwerer, da die Bilder dann ne extra behandlung brauchen
 

Nick H.

Bekanntes Mitglied
oh sorry nicht richtig gelesen
dann wärs aber einfacher das nicht nach der Dateiendung
sondern nach dem Typ den der Server mitschickt zu machen
also zB
image/gif
image/jpg usw.

dann brauchste nur die mit image vorne wegmachen
und hast gleich alle Bilder weg
 
T

TR_Watto

Gast
Hallo,

könnt ihr mir irgend eine Quelle nennen wo der Kram im Detail erklärt ist. Am besten wäre natürlich Quellcode.
 

Bleiglanz

Gesperrter Benutzer
es geht darum einen Proxy in Java zu erstellen der aus einer Webseite die Bilder herausfiltert.
du solltest mal genau schauen was die Aufgabenstellung ist

Variante A:
ein Proxy unterdrückt einfach ALLE Anfragen nach Bildern, der ganze restliche Traffic wird einfach durchgereicht
(relativ - aber nur relativ - einfach)
im browser dann kleine rote kreuze, plus langes warten usw.

Variante B:
=Variante A UND:
der Proxy fängt html Dateien ab und entfert alle img Tags aus den Webseiten bevor er sie an den Aufrufer durchgibt??


aber am besten einfach mal mit der Netzwerkprogrammierung anfangen, die Aufgabe ist nicht ohne gute Vorkenntnisse zu lösen

http://www.galileocomputing.de/open...sel16_006.htm#Rxx747java16006040006391F036100
 
S

slash

Gast
hi das sind doch Hausaufgaben im Webtech?
oder?

hab das gleiche Problemm
Also du must ein Url Objekt bilden und da draus UrlConnection.
URLConnection hat eine Methode die heist getContentType();
mit ihr kannst prüfen was angefordert wurde und wennn das image/gif sind dann kannst du reagrieren.
 

Nick H.

Bekanntes Mitglied
genau das meinte ich ja
das Problem an der ganzen Sache ist nur das von bleiglanz
die Ladezeit wird sehr verzögert und alles voller roter kreuze
man kann natürlich stattdessen einfach ein Fakebild nehmen
immer wenn der ContentType ein Image ist nachgucken wie groß es ist
und ein Fakebild mit gleicher größe mitgeben

das sollte aufjedenfall leichter sein als die img Tags rauszufiltern
vorrallem da Bilder ja auch so übertragen werden können
 
T

TR_Watto

Gast
Hallo könnt ihr mir varraten warum die Bilder so nicht angezeigt werden?


Code:
import java.net.*;
import java.io.*;


public class SocketServer
{	
	public static void main(String [] ags)
	{
		try 
		{
			// Server Socket für Port 80 wird erzeugt
			ServerSocket serverSocket = new ServerSocket(80);		
			
			for(;;) 
			{
			 	System.out.println("Warte auf Verbindung auf Port 80");
			 	Socket clientSocket = serverSocket.accept();		
			 	System.out.println("Verbindung hergestellt");
			 		 	
			 	 	
			 	URL myURL = new URL("...");
				URLConnection uc = myURL.openConnection();
				uc.connect();
					
				// Ausgabe der Schlüssel mit entsprechendem Header Feld
				int n = 1;
				String key;
				while ((key = uc.getHeaderFieldKey(n)) != null)
				{
					String value = uc.getHeaderField(n);
					System.out.println(key + ": " + value); 
					n++;
				}
	
				
				String line;
				BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
				OutputStreamWriter out = new OutputStreamWriter(clientSocket.getOutputStream());	
				
				while ((line = in.readLine()) != null)
				{
					out.write(line);
				}
				
				out.flush();				
				out.close();				
			 	clientSocket.close();  		
			 }
		}
		catch (IOException e)
		{
			System.err.println(e);
		}
	}
}
 

Nick H.

Bekanntes Mitglied
du musst Buffered Streams nehmen
die sind für sowas am besten geeignet
also BufferedInputStream und BufferedOutputStream

das mit dem Reader kannst du dir wie ein Texterkennungsprogramm vorstellen
wenn du dem nen Bild zeigst kann das Prog nix damit anfangen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M SocketError bei Aufruf eines SOAP-Servers Netzwerkprogrammierung 8
G seite nach posten eines html-forms laden Netzwerkprogrammierung 0
J Protokolle innerhalb eines Heimnetzwerks Netzwerkprogrammierung 6
V Kann man mit Hilfe eines Java-Programms den Zugriff auf bestimmte Internetseiten verhinden? Netzwerkprogrammierung 3
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
X Response eines RESTful-Service mit JSON Netzwerkprogrammierung 8
F Neuer Json aus teilen eines vorhandenen Json Netzwerkprogrammierung 0
N Client Identifikation eines Servers Netzwerkprogrammierung 1
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
K Multiplayer eines Spiels Netzwerkprogrammierung 21
K Ansprechen eines Remote Druckers Netzwerkprogrammierung 2
L Erstellen eines Online Multiplayer Apps Netzwerkprogrammierung 10
eLogic Download eines Links Netzwerkprogrammierung 2
U Socket Abhören eines Sockets/Ports in extra Thread Netzwerkprogrammierung 8
2 Schliessen eines Serversockets Netzwerkprogrammierung 2
Hindi93 Abbruch eines Programmes abfangen Netzwerkprogrammierung 8
1 SSH-Kommunikation - Ende eines Streams nicht erkenntlich Netzwerkprogrammierung 2
C Alle Computer eines Netzwerkes finden Netzwerkprogrammierung 32
N Senden eines Arrays Netzwerkprogrammierung 6
U Name eines Netzlaufwerks ermitteln Netzwerkprogrammierung 5
L Body eines http Request auslesen Netzwerkprogrammierung 2
K Ende eines HTTP Response/Request Netzwerkprogrammierung 6
aze Tcp Verkehr eines Applets simulieren Netzwerkprogrammierung 10
J Socket Erreichbarkeit eines Java Servers (Socket-Lösung) über das Internet Netzwerkprogrammierung 3
M Socket Leistungsfähigkeit eines xSocketservers, wieviele Verbindungen max? Netzwerkprogrammierung 4
clupus Exception beim Schließen eines Sockets Netzwerkprogrammierung 6
cowabunga1984 Transferierte Datenmenge eines SOAP Clients (JAX-WS) anzeigen Netzwerkprogrammierung 2
K TrafficClass eines UDP Pakets kommt beim Empfänger nicht an Netzwerkprogrammierung 5
musiKk Problem bei bidirektionaler Nutzung eines Socket Netzwerkprogrammierung 2
J Machbarkeit eines Bluetooth-Servers? Netzwerkprogrammierung 2
S Realisierung eines Netzwerkcodes für ein Strategiespiel Netzwerkprogrammierung 7
K "Ende eines Sockets" Netzwerkprogrammierung 9
A Broadcast - senden eines Packetes an alle rechner im netz Netzwerkprogrammierung 15
P problem beim schließen eines Streams Netzwerkprogrammierung 6
K Mit Java-MailAPI dir Verfügbarkeit eines SMTP-Servers prüfen Netzwerkprogrammierung 4
J while-Schleife / Abbruchbed. beim Einlesen eines Streams Netzwerkprogrammierung 4
U Ende eines Inputstreams ermitteln Netzwerkprogrammierung 3
J Länge eines Streams Netzwerkprogrammierung 4
T Timeout eines KSOAP-Calls Netzwerkprogrammierung 5
G Info eines Webseites kopieren Netzwerkprogrammierung 16
J Antwort eines Soaprequests parsen mittels org.apache.soap Netzwerkprogrammierung 2
E Möglichkeit zum Timeout eines Process Netzwerkprogrammierung 7
T Pfad eines Servlets rausfinden Netzwerkprogrammierung 2
O Einbinden eines java-servers Netzwerkprogrammierung 9
C Übergabe eines Datensatzes (Übergabestruktur) Netzwerkprogrammierung 12
G Verzeichnis eines Rechners übers Netzwerk auslesen Netzwerkprogrammierung 5
B Problem mit der Ausgabe eines Strings an SocketOut Netzwerkprogrammierung 4
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
B Einfacher Proxy Server Netzwerkprogrammierung 29
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
L Einfacher Proxy-Server Netzwerkprogrammierung 6
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
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

Ähnliche Java Themen


Oben