Guten Tag/Abend!
Mein Problem ist folgendes:
Ich habe versucht ein Proxy zu programmieren.
Das Prinzip ist mir klar.
Nur weiß ich nicht wie ich das in meinem Programm schreiben soll.
Den hauptteil habe ich ja schon.
Hier der Code (Bitte auch die Kommentare im Code durchlesen!):
Bei allen anderen Versuchen kriege ich ein Fehler/Error in meinem Browser.
Vielen Dank im Voraus!
Mein Problem ist folgendes:
Ich habe versucht ein Proxy zu programmieren.
Das Prinzip ist mir klar.
Nur weiß ich nicht wie ich das in meinem Programm schreiben soll.
Den hauptteil habe ich ja schon.
Hier der Code (Bitte auch die Kommentare im Code durchlesen!):
Java:
import java.io.*;
import java.net.*;
public class Main {
public static void main(String[] args) {
try {
int proxyPort = 8080;
String host = "http://www.google.com";
ServerSocket ss = new ServerSocket(proxyPort);
while(true) {
Socket s = ss.accept();
URLConnection hostConnection = new URL(host).openConnection();
hostConnection.setDoInput(true);
hostConnection.setDoOutput(true);
hostConnection.connect();
//Hier weiß ich nicht was ich hier tun soll.
//Ich kann die Anfragen an den Host weiterleiten.
//Ich kann nur nicht die Anfragen vom Host an den Client entgegen nehmen.
//Folgendes Beispiel zum entgegennehmen der Anfragen vom Client:
DataInputStream clientDis = new DataInputStream(s.getInputStream());
DataOutputStream hostDos = new DataOutputStream(hostConnection.getOutputStream());
String line = "";
while((line = clientDis.readLine()) != null) {
hostDos.writeUTF(line);
}
//Das nächste Beispiel soll die Anfragen vom Host entgegennehmen.
DataOutputStream clientDos = new DataOutputStream(s.getOutputStream());
DataInputStream hostDis = new DataInputStream(hostConnection.getInputStream());
String line = "";
while((line = hostDis.readLine()) != null) {
clientDos.writeUTF(line);
}
//Dies funktioniert aber nicht da ich ein 405 Error kriege.
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Bei allen anderen Versuchen kriege ich ein Fehler/Error in meinem Browser.
Vielen Dank im Voraus!