Hallo,
ich versuche eine Proxyanwendung zu schreiben, um verschiedene Inhalte (etwa Flash) herauszufiltern. Bevor ich jedoch irgendwas filtern kann, muss dass Durchschleusen funktionieren.
Die Funktion "getDest" liest den "Host" des HTTP-Pakets aus.
Sieht jemand vlt meinen Fehler?
grtz
michi
ich versuche eine Proxyanwendung zu schreiben, um verschiedene Inhalte (etwa Flash) herauszufiltern. Bevor ich jedoch irgendwas filtern kann, muss dass Durchschleusen funktionieren.
Java:
private static void handleConnection( Socket client ) throws IOException {
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
String itbu = "";
byte read = (byte) in.read();
while(in.available()>0 && -1 < read){
itbu = itbu + String.valueOf(Character.toChars(read)[0]);
read = (byte) in.read();
}
Socket realserv = new Socket(getDest(itbu),80);
InputStream servin = realserv.getInputStream();
OutputStream servout = realserv.getOutputStream();
Scanner sin = new Scanner(realserv.getInputStream());
byte[] write = itbu.getBytes();
for(int i=0; i<write.length; i++)
servout.write(write[i]);
servout.flush();
String serva = "";
byte r = (byte) servin.read();
while(servin.available()>0 && -1 < r){
serva = serva + String.valueOf(Character.toChars(r)[0]);
r = (byte) servin.read();
}
//Ab hier tut sich nichts mehr.
System.out.print(serva);
write = serva.getBytes();
for(int i=0; i<write.length; i++)
out.write(write[i]);
}
Die Funktion "getDest" liest den "Host" des HTTP-Pakets aus.
Sieht jemand vlt meinen Fehler?
grtz
michi