Verbindung über Proxy// Problem mit Outputstream bei URLConn

Status
Nicht offen für weitere Antworten.

madmufflon

Mitglied
hey,
//edit: das problem hat sich geändert, 2 posts weiter unten
ich habe ein programm, das einen http request abschickt. die antwort kommt auch ordnungsgemäß zurück (is zwar die falsche, aber das ist ein adneres problem). Das problem ist nur, dass das ganze über einen proxy laufen soll.
hab also squid installiert, firefox läuft da auch wunderbar drüber, nur mein javaprogramm nicht.
habs bereits auf mehrere weisen versucht:
Code:
System.setProperty("http.proxySet", "true");
        
        System.setProperty("http.proxyHost", proxy);
        System.setProperty("http.proxyPort", String.valueOf(proxyport) );
hat nicht gewirkt, das hier leider auch nicht, der request wird zwar abgesendet, aber er taucht nicht im squid log auf und läuft auch bei falschen proxy daten, die spielen also garkeine rolle. iich hab keine ahnung woran es liegt und wäre für jede hilfe dankbar.
der http request erfolgt über eine normale socket verbindung.
gruß
martin

edit: titel geändert
 
G

Gelöschtes Mitglied 5909

Gast
probier das mal aus:


Code:
import java.io.IOException;
import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
import java.net.Proxy;
import java.net.Socket;

public class Connection {

    private final static int DEFAULT_TIMEOUT = 500;

    private String           host;
    private int              port;

    private boolean          proxyEnabled    = false;

    private Proxy            proxy           = Proxy.NO_PROXY;

    public Connection( String host, int port ) {
        this.host = host;
        this.port = port;
    }

    public boolean isReachable() {
        Socket socket = null;
        try {
            socket = new Socket(proxy);
            socket.setKeepAlive(false);
            socket.setSoTimeout(DEFAULT_TIMEOUT);
            socket.connect(new InetSocketAddress(host, port));
            return true;
        } catch ( IllegalArgumentException e ) {
            setProxy(null, -1);
            return false;
        } catch ( IOException e ) {
            return false;
        } finally {
            if ( socket != null ) try {
                socket.close();
            } catch ( IOException e ) {}
        }
    }

    public boolean isProxyEnabled() {
        return proxyEnabled;
    }

    public void setProxyEnabled( boolean proxyEnabled ) {
        this.proxyEnabled = proxyEnabled;
    }

    public void setProxy( String inetAddress, int port ) {
        if ( inetAddress != null ) {
            proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(inetAddress, port));
            setProxyEnabled(true);
        }
        else {
            proxy = Proxy.NO_PROXY;
            setProxyEnabled(false);
            Authenticator.setDefault(null);
        }
    }

    public void setProxyAuthentication( String user, String pass ) {
        if ( user != null ) {
            Authenticator.setDefault(new ProxyAuthenticator(user, pass));
        }
        else {
            Authenticator.setDefault(null);
        }
    }

    private class ProxyAuthenticator extends Authenticator {

        private PasswordAuthentication pwdAuth;

        public ProxyAuthenticator( String user, String pass ) {
            pwdAuth = new PasswordAuthentication(user, pass.toCharArray());
        }

        protected PasswordAuthentication getPasswordAuthentication() {
            return pwdAuth;
        }
    }

}
 

madmufflon

Mitglied
hey,
nachdem ich mit dem Socket nicht ganz klar gekommen bin hab ich jetzt doch auf URLConnection gewechselt. Dabei hab ich jetzt folgendes Problem. Ich will Daten an den Server schicken und es klappt einfach nicht. ich verwende folgenden code:
Code:
               urlconnection = getUrl();
		
		this.setHeaderAndFooter();
                         
                DataOutputStream out = new DataOutputStream(urlconnection.getOutputStream());
                out.writeBytes("string=hallowelt");
                out.close();
                               
                BufferedReader URLinput = new BufferedReader(
                new InputStreamReader(urlconnection.getInputStream()));
                
                URLinput.close();

               
                System.exit(0);

private void setHeaderAndFooter() throws IOException{

                urlconnection.addRequestProperty("Host", url.getHost());

                urlconnection.addRequestProperty("User-Agent","Mozilla/5.0 (Java/UploadVertretungsplan;)");
                urlconnection.addRequestProperty("Accept","text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
                urlconnection.addRequestProperty("Accept-Language","en-us,en;q=0.5");
                urlconnection.addRequestProperty("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
                urlconnection.addRequestProperty("Connection", "close");
                urlconnection.addRequestProperty("Content-Type","multipart/form-data; boundary=" + boundary);
        }

private URLConnection getUrl() throws IOException, UnknownHostException{
                        
                        //Das ganze läuft immer noch über einen proxy
                        URLConnection urlc;
                        Proxy pr;
                        int port = main.getProxyPort();
                        if(port < 1) {
                            port = 80;
                        }
                        InetAddress ip = Inet4Address.getByName(main.getProxy());
                        InetSocketAddress sa = new InetSocketAddress(ip,port);
                                    
                        pr = new Proxy(Proxy.Type.HTTP, sa);
                        urlc = url.openConnection(pr);
                        
                        urlc.setDoOutput(true);
            
                        return urlc;
	}

Der Request wird auch abgeschickt, nur leider kommt beim server folgender request an:
Code:
POST /test/javaUpload.php HTTP/1.0
Host:localhost
User-Agent:Mozilla/5.0 (Java/UploadVertretungsplan;)
Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language:en-us,en;q=0.5
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type:multipart/form-data; boundary=wyqyygmppuujegjkifhzwlgrcqeugwwepzwyrhqz
Content-Length:16
Via:1.1 martin%3a3128 (squid/2.7.STABLE3)
X-Forwarded-For:127.0.0.1
Cache-Control:max-age=259200
Connection:keep-alive

Ich versteh einfach nicht, warum der body des requests nicht mitgeschickt wird.
grüße
martin
 

madmufflon

Mitglied
hab ich auch schon probiert, hat nicht funktioniert, aber wenn hier keiner ne idee hat, dann probier ich das auch nochmal
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M ganymed-ssh2.har: ftp-Verbindung über ftp-Proxy Netzwerkprogrammierung 2
I Fehlermeldung bei Verbindung über SOCKS Proxy Netzwerkprogrammierung 4
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
T VPN-Verbindung über Java Netzwerkprogrammierung 4
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
A TCP über UDP Verbindung? Netzwerkprogrammierung 10
C Verbindung zu einem Hostrechner über das Internet herstellen Netzwerkprogrammierung 15
P Socket Verbindung über das Internet Netzwerkprogrammierung 2
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
W Socket Shellscript über ssh Verbindung aufrufen Netzwerkprogrammierung 14
T Mac Adresse über Socket Verbindung abfragen? Netzwerkprogrammierung 9
T Verbindung über das Internet Netzwerkprogrammierung 2
H Server und Client-keine verbindung über den localhost Netzwerkprogrammierung 6
G Verbindung über Sockets Netzwerkprogrammierung 2
D Verbindung über ein Servlet zu einem Server Netzwerkprogrammierung 4
B Verbindung über verschiedene IPs Netzwerkprogrammierung 3
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
D Verbindung zu Geräten mit gleicher IP aber in unterschiedlichen VLans aufbauen Netzwerkprogrammierung 2
M Socket Socket lehnt Verbindung ab Netzwerkprogrammierung 3
IAmFloppy Socket Nachstellen der Verbindung Netzwerkprogrammierung 6
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
M Socket peer to peer Verbindung zwischen Java und Matlab Netzwerkprogrammierung 0
S Bluetooth Verbindung zwischen Android app und Raspberry Pi 3 Netzwerkprogrammierung 1
S Peer2Peer Verbindung trotz NAT Netzwerkprogrammierung 2
Aruetiise Socket Verbindung Überprüfen Netzwerkprogrammierung 18
F Socket Verbindung mit Verschlüsselung und Authentifierzung Netzwerkprogrammierung 1
F Probleme mit Connection Reset bei Telnet Verbindung Netzwerkprogrammierung 1
U Client Soap Verbindung wieder schließen Netzwerkprogrammierung 0
M Verbindung zwischen zwei Pc in dem Selben Netzwerk Netzwerkprogrammierung 8
P Socket Socket-Verbindung Input sehr langsam Netzwerkprogrammierung 1
S FTP Verbindung zu einem BS2000 Großrechner mit Commons Net Netzwerkprogrammierung 0
F Einfache Socket Verbindung Netzwerkprogrammierung 2
F Verbindung zwischen Server und handy Netzwerkprogrammierung 1
M TCP Verbindung Byte-weise lesen? Netzwerkprogrammierung 5
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
F TCP Client, verbindung aufrecht halten Netzwerkprogrammierung 0
I Swing hängt sich auf bei Verbindung zum Server Netzwerkprogrammierung 3
P RMI Hohe CPU Last RMI Verbindung Netzwerkprogrammierung 4
J Pc - Handy Verbindung? Netzwerkprogrammierung 3
M Socket 2x Proxy multithread-server mit Cross Verbindung Netzwerkprogrammierung 0
T Verbindung zum Server fehlgeschlagen Netzwerkprogrammierung 7
D Einfache Verbindung zu Linux Server und Datei auslesen Netzwerkprogrammierung 13
B Nach Verbindung gleich ObjectStream empfangen Netzwerkprogrammierung 1
R Dauerhaft offene Socket-Verbindung? Netzwerkprogrammierung 3
P server - client verbindung (anfänger) Netzwerkprogrammierung 8
G Socket Socket verbindung für Chat System Netzwerkprogrammierung 3
S Socket Socket Verbindung wiederherstellen Netzwerkprogrammierung 16
T Socket Bidirektionale Verbindung mit Sockets Netzwerkprogrammierung 8
N (TCP) Verbindung ohne Portforwarding Netzwerkprogrammierung 12
N Lan-Verbindung erstellen Netzwerkprogrammierung 2
H Socket Java Chat - Verbindung zum Server fehlgeschlagen. Netzwerkprogrammierung 5
D TCP Verbindung (Java Client und Visual Basic Server) Netzwerkprogrammierung 12
E Verbindung zu SQL-Datenbank auf einem Server Netzwerkprogrammierung 13
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
V NullPointerException bei Verbindung zu RabbitMQ-Server Netzwerkprogrammierung 4
B FTP commons net verschlüsselte verbindung Netzwerkprogrammierung 11
T Socket Client versucht zyklische Verbindung zum Server Netzwerkprogrammierung 4
X Über eine Socket-Verbindung Arrays übergeben Netzwerkprogrammierung 5
A Socket Socket Verbindung unterbrochen --> keine Exception Netzwerkprogrammierung 7
S SVNKit - Verbindung zum Repository trennen? Netzwerkprogrammierung 2
P Socket neuer Client - neue(r) Socket/Verbindung geöffnet? Netzwerkprogrammierung 6
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
X SSH Verbindung zu Remote Datenbank Netzwerkprogrammierung 2
S TCP Verbindung zu Beamer Netzwerkprogrammierung 8
Y server client socket verbindung übers internet aufbauen Netzwerkprogrammierung 8
D Verbindung zw. zwei Rechnern funzt nicht Netzwerkprogrammierung 5
F Socket Socket Verbindung Netzwerkprogrammierung 10
E Server schließt einfach verbindung? Netzwerkprogrammierung 6
Shoox VPN-Verbindung für Datenbankzugriff Netzwerkprogrammierung 2
X Socket Handy/PC Verbindung unterscheiden Netzwerkprogrammierung 18
O Telnet verbindung Netzwerkprogrammierung 4
Dit_ UDP Verbindung durch Proxy Netzwerkprogrammierung 4
H Socket Client server,verbindung läst sich nicht abbauen&code optimierung Netzwerkprogrammierung 3
M HTTP HTTPS-Verbindung mittels Java und Javascript Netzwerkprogrammierung 2
N Verbindung zu Fritzbox Socket/Telnet ??? Netzwerkprogrammierung 5
multiholle RMI Verbindung Linux <-> Windows Netzwerkprogrammierung 4
S netzwerkprotokoll auf basis einer tcp verbindung erstellen Netzwerkprogrammierung 9
S SSH Verbindung mit j2ssh Netzwerkprogrammierung 3
H Socket Mit Applet Verbindung zu eigener Website aufbauen Netzwerkprogrammierung 4
H Socket Socket verbindung mit einem TeamSpeak2 Server Netzwerkprogrammierung 5
H TCP verbindung hinter NAT Netzwerkprogrammierung 28
G TCP SSL Verbindung Netzwerkprogrammierung 3
P Java / My-Sql Verbindung herstellen Netzwerkprogrammierung 6
N Socket Verbindung wird immer verweigert Netzwerkprogrammierung 5
Dit_ UDP-Verbindung, DatagramPakete Netzwerkprogrammierung 3
S Socket verbindung trennen Netzwerkprogrammierung 3
D Verbindung zu einem Server - POST Netzwerkprogrammierung 2
musiKk SSL-Verbindung mit Client-Zertifikat (Private Key) scheitert Netzwerkprogrammierung 13
D Socketprogrammierung Verbindung C++=>Java Netzwerkprogrammierung 23
B Probleme mit FTP verbindung Netzwerkprogrammierung 22
L SSL Verbindung aber Server wird erst im Programm festgelegt Netzwerkprogrammierung 4
L Https Verbindung wird aus jar heraus nicht aufgebaut Netzwerkprogrammierung 12
O TCP Socket-Verbindung überprüfen Netzwerkprogrammierung 4
F Peer to Peer Verbindung zwischen mehreren Clients? Netzwerkprogrammierung 8
F applet verbindung zum server Netzwerkprogrammierung 6
G Verbindung zwischen PC und Handy Netzwerkprogrammierung 10
B Bibliothek, um Eckdaten zur Internet-Verbindung rauszufinden Netzwerkprogrammierung 2
C Verbindung zwischen 2 Computern herstellen Netzwerkprogrammierung 12
G USB-Verbindung herstellen Netzwerkprogrammierung 3

Ähnliche Java Themen


Oben