Proxy funktioniert nicht so wie gewünscht!

Dann07

Aktives Mitglied
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!):
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!
 
X

Xyz1

Gast
Mit host ist die Zieladresse gemeint, in diesem Fall google.de. Mit statisch ist gemeint, dass sich diese Zieladresse gar nicht ändert... Eigentlich müsste die Anfrage ja so schauen:
Host: www.java-forum.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/css,*/*;q=0.1
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
 

Dann07

Aktives Mitglied
Mit host ist die Zieladresse gemeint, in diesem Fall google.de. Mit statisch ist gemeint, dass sich diese Zieladresse gar nicht ändert... Eigentlich müsste die Anfrage ja so schauen:
Host: www.java-forum.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/css,*/*;q=0.1
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

Achso. Danke!
Das gleiche kommt bei mir auch raus aber das löst leider noch nicht mein eigentliches Problem. :confused:
Wenn ich versuche mich zu verbinden dann lädt mein Browser entweder ewig lange oder er bricht sofort mit einem Fehler ab.
 

mrBrown

Super-Moderator
Mitarbeiter
In jedem Fall dürfte der HOST-Header falsch sein - der Browser wird den (korrigiert mich) auf localhost setze, der Google-Server wird mit localhost aber nicht viel anfangen können. Der Proxy wird das mit dem passenden Host ersetzen müssen.
 

Dann07

Aktives Mitglied
java.io.IOException: Server returned HTTP response code: 405 for URL: http://www.google.com
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at Main.main(Main.java:21)
 

mrBrown

Super-Moderator
Mitarbeiter
Ahh...du darfst natürlich keine HttpConnection zum Host aufmachen, sondern auch einfach nur ein Socket. Du willst ja die Anfragen des Browsers einfach nur durchreichen, und nicht eine eigene davon völlig unabhängige Verbindung aufbauen.
 

Dann07

Aktives Mitglied
Ich habe es jetzt mal mit einem Socket probiert es gibt jetzt auch keine Exception aber mein Browser lädt ewigkeiten und ich kriege auch von dem Host keine Antwort.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
T Proxy mit Zusatzfunktion 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
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
JavaDevOp Socket Status von UDP-Port prüfen (PortUnreachableException funktioniert nicht?) Netzwerkprogrammierung 32
B Multicast-Nachrichten-Empfang funktioniert nicht Netzwerkprogrammierung 5
S BufferedStream funktioniert nicht immer Netzwerkprogrammierung 7
G UDP Packet empfangen funktioniert nicht. Netzwerkprogrammierung 16
M Textchat Funktioniert nur halb Netzwerkprogrammierung 2
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
N Test Servlet funktioniert nicht Netzwerkprogrammierung 11
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
KingSquizzi3 Website parsen mit Hilfe von jsoup funktioniert nicht Netzwerkprogrammierung 3
V TCP Client funktioniert auf Emulator aber nicht auf Smartphone Netzwerkprogrammierung 5
N RMI "RMI über Lan funktioniert nicht" & "RMI-Server im Lan scannen" Netzwerkprogrammierung 13
G Mail senden funktioniert nicht mit SSL Netzwerkprogrammierung 7
L IText mit Servlets, funktioniert nicht Netzwerkprogrammierung 0
D TCP Socket funktioniert nicht richtig Netzwerkprogrammierung 3
L Email versenden mit Java funktioniert nicht, Fehlermeldungen: MessagingException & SocketException Netzwerkprogrammierung 10
C Portscanner funktioniert nicht! Netzwerkprogrammierung 8
K Chatprogramm - Server funktioniert nicht Netzwerkprogrammierung 5
G FTP FTP-Client funktioniert nicht bei Modem-Verbindungen Netzwerkprogrammierung 8
D JNLP über Webstart funktioniert nicht... Netzwerkprogrammierung 2
M HTTP File Upload mit Prozessbar Funktioniert nicht. Netzwerkprogrammierung 8
J FTP FTP funktioniert nicht. Netzwerkprogrammierung 5
R Client funktioniert nicht Netzwerkprogrammierung 2
M while-Schleife funktioniert nicht bei Nachrichtempfang von Server Netzwerkprogrammierung 3
L Socket Chat funktioniert nicht Netzwerkprogrammierung 2
D ...class.getResourceAsStream("/meine.properties") funktioniert nicht über RMI? Netzwerkprogrammierung 3
S RMI Methodenaufruf funktioniert nur lokal Netzwerkprogrammierung 11
C Java Chat funktioniert nicht richtig Netzwerkprogrammierung 6
V Quelltaxt einer Website auslesen funktioniert nicht Netzwerkprogrammierung 2
A RMI RMI Methodenaufruf funktioniert nur spontan Netzwerkprogrammierung 5
S RMI RMI-Applet kommunikation funktioniert nicht Netzwerkprogrammierung 8
D FTP Pfadangabe für ftp-upload funktioniert nicht Netzwerkprogrammierung 5
A Socket UnknownHostException funktioniert nicht! Netzwerkprogrammierung 3
B Socket Daten empfangen funktioniert nicht richtig - wo liegt der Fehler? Netzwerkprogrammierung 7
M chat funktioniert nicht (Connection refused: connect) Netzwerkprogrammierung 3
R Java-Chat-Applet funktioniert nur in Eclipse Netzwerkprogrammierung 3
T RMI - Client Zugriff auf Server funktioniert nicht Netzwerkprogrammierung 5
M RMI, cast funktioniert nich Netzwerkprogrammierung 2
P Bilder: FTP-Upload funktioniert nicht richtig Netzwerkprogrammierung 2
G Datein versenden funktioniert nicht ! Netzwerkprogrammierung 19
W RMI funktioniert nur wenn ich im selben Eclipse Projekt bin Netzwerkprogrammierung 3
S OutputStreamWriter funktioniert nicht wie ich will Netzwerkprogrammierung 2
M serialisierung funktioniert nur nach neuer instanzierung Netzwerkprogrammierung 3
G Google-Suche funktioniert nicht Netzwerkprogrammierung 6
S Server - Telnet funktioniert, Server - Client nicht Netzwerkprogrammierung 3
F SimpleFTP funktioniert nicht Netzwerkprogrammierung 6
N UDP zwischen Java und C++ funktioniert nicht. Netzwerkprogrammierung 4
L JavaMail: Versenden von mails funktioniert nicht Netzwerkprogrammierung 7
A Bei FTP Übertragung wird Datei nicht komplett übertragen Netzwerkprogrammierung 2
M JAX-WS unter Java 17 plötzlich nicht mehr möglich Netzwerkprogrammierung 5
T OutputStream kommt nicht an Netzwerkprogrammierung 18
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
S .jar läuft local, aber nicht remote (SSH/Terminal) Netzwerkprogrammierung 10
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10

Ähnliche Java Themen

Neue Themen


Oben