Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Settare Proxy in Eclipse

    Salve,

    ho realizzato un semplice socket che interroga una URL e scirve la corrispondente pagina Web (l'esempio preso dall'articolo di questo sito).
    Il programma non contiene errori, però quando lo mando in esecuzione mi da il seguente errore:

    Codice PHP:
    java.net.ConnectExceptionConnection timed outconnect 
    Sono in una rete con proxy. Su Eclipse sotto

    "Window" --> "Preference" --> "Network Connection"

    ho settato i paramentri del proxy, ma il problema persiste.
    Stesso discorso se provo ad eseguire il programma con l'interprete java da linea di comando.

    Qualche delucidazione al riguardo?

    Grazie,
    Matteo
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  2. #2
    Probabilmente non è un problema di proxy...
    Questo è il programma:

    Codice PHP:
    import java.io.*;
    import java.net.*;

    public class 
    URLConnectionSample {

        public static 
    void main(String[] args) {
            
    StringBuffer document = new StringBuffer();
            
    String line null;

            try {
                
    // Il client si connette al server
                
    URL url = new URL("http://www.html.it");
                
    URLConnection conn url.openConnection();

                
    // Il client legge lo stream di input del server
                
    BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                while ((
    line reader.readLine()) != null) {
                    
    document.append(line);
                }
                
    reader.close();

                
    // Ciò che il client ha letto viene memorizzato in un file
                
    FileWriter out = new FileWriter("document.html");
                
    out.write(document.toString());
                
    out.close();

            } catch (
    Exception e) {
                
    e.printStackTrace();
            } 
        }

    E questo è l'errore:
    Codice PHP:
    java.net.ConnectExceptionConnection timed outconnect
            at java
    .net.PlainSocketImpl.socketConnect(Native Method)
            
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
            
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
            
    at java.net.PlainSocketImpl.connect(Unknown Source)
            
    at java.net.Socket.connect(Unknown Source)
            
    at java.net.Socket.connect(Unknown Source)
            
    at sun.net.NetworkClient.doConnect(Unknown Source)
            
    at sun.net.[url]www.http.HttpClient.openServer[/url](Unknown Source)
            
    at sun.net.[url]www.http.HttpClient.openServer[/url](Unknown Source)
            
    at sun.net.[url]www.http.HttpClient.[/url]<init>(Unknown Source)
            
    at sun.net.[url]www.http.HttpClient.New[/url](Unknown Source)
            
    at sun.net.[url]www.http.HttpClient.New[/url](Unknown Source)
            
    at sun.net.[url]www.protocol.http.HttpURLConnection.getNewHttpClient[/url](Unknown
    Source
    )
            
    at sun.net.[url]www.protocol.http.HttpURLConnection.plainConnect[/url](Unknown Sour
    ce
    )
            
    at sun.net.[url]www.protocol.http.HttpURLConnection.connect[/url](Unknown Source)
            
    at sun.net.[url]www.protocol.http.HttpURLConnection.getInputStream[/url](Unknown So
    urce
    )
            
    at URLConnectionSample.main(URLConnectionSample.java:16
    Qualche anima pia che mi aiuta?
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  3. #3

    Risolto :-)

    Autoreply

    Quando hai settato un proxy e vuoi dialogare con dei Socket con una risorsa esterna, non è suffiiente settare il Proxy tra le impostazioni di Eclipse, ma lo si deve fare anche nella tua applicazione (classe Socket).
    In particolare un comando tipo:
    Codice PHP:
    URL url = new URL("http://www.html.it"); 
    Ti restituirà un errore perchè tenti di fare una chiamata diretta senza passare per il proxy, che te la bloccherà!
    E' necessario usare un altro costruttore per la classe URL, ovvero:
    Codice PHP:
    URL url = new URL("http"// Il protocollo usato,
        
    "10.50.10.118"//Il nome dell'host oppure l'IP del proxy 
        
    8080// La porta del proxy oppure -1 per indicare la porta di default del protocollo
       
    "http://www.html.it/"); // L'URL al quale ci si vuole connettere 
    Magari a qualcuno servirà questa informazione.
    Ciauz
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.