Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    95

    Java.net Http Via Proxy Aiutoo.....

    ciao,

    ho un problema, ho creato una classe che si collega ad un server web e scarica l'html della pagina ma non funziona se si passa da un proxy

    Allora ho usato prima di aprire la conessione con:
    URL _url = new URL(remote_url);
    URLConnection connector = _url.openConnection();

    questo metodo che setta le proprietà di sistema per il proxy:

    private void setSystemProxyProp(String proxySRV, String porta) throws Exception{
    System.out.println("Settato proxy..");
    Properties prop = new Properties();
    prop.put("proxySet","true");
    prop.put("proxyHost",proxySRV);
    prop.put("proxyPort",porta+"");
    System.setProperties(prop);

    }
    E così funziona perfettamente..

    Ora volevo invece provare a costruirmi un metodo che esegue la connessione al proxy richiedendo la pagina così:

    private String connectViaProxy(String proxySRV, String porta, String url) throws Exception{
    try{
    try {
    if (proxySRV == null|| porta == null)throw new UnknownHostException(proxySRV+":"+porta);

    Socket sock = new Socket(proxySRV, Integer.parseInt(porta));

    DataOutputStream dos = new DataOutputStream(sock.getOutputStream());

    //stringa da inviare al proxy per la get dell'url
    String postUrl = "GET " + this.source + "HTTP/1.0\n"+ "Host:" + this.host + "Connection:close\n\n";

    dos.writeBytes(postUrl);
    dos.flush();


    System.out.println("Connected to " + url);

    BufferedReader in = new java.io.BufferedReader(new InputStreamReader(sock.getInputStream()));

    String line="";
    StringBuffer response=new StringBuffer();
    while ((line = in.readLine()) != null)
    {
    response.append(line);
    }
    System.out.println("Retrieving data...");
    System.out.println(response);
    sock.close();
    return response.toString();

    }catch(SocketException sE){System.out.println("Socket Error: Il proxy non ha risposto..Can't connect");sE.printStackTrace();}

    }catch(UnknownHostException hE){System.out.println("Error Unknown host: Il proxy non ha risposto..Can't connect");hE.printStackTrace();}
    return "";
    }


    Il prblema è che quando apro un socket verso il proxy mi da un SocketException..

    più in dettaglio:
    java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl .java:305)
    at java.net.PlainSocketImpl.connectToAddress(PlainSoc ketImpl.java:171)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:158)
    at java.net.Socket.connect(Socket.java:452)
    at java.net.Socket.connect(Socket.java:402)
    at java.net.Socket.<init>(Socket.java:309)
    at java.net.Socket.<init>(Socket.java:124)
    at htmlreader.html_reader.connectViaProxy(html_reader .java:117)
    Socket Error: Il proxy non ha risposto..Can't connect

    Il proxy utilizza la porta 6588, ma non penso sia un problema..
    Qualcuno saprebbe aiutarmi??

    Grazie!

    Roby

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    95
    aiuto.. :master:

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    95
    aiutoo :master:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.