Proxy proxy=new Proxy(Proxy.Type.SOCKS,new InetSocketAddress("85.105.238.24",1080));
    String url="http://www.google.com";
    HttpURLConnection conn=(HttpURLConnection)new URL(url).openConnection(proxy);
    conn.setConnectTimeout(10*1000);
    conn.setReadTimeout(10*1000);
    conn.connect();上边是代码,我的问题是为什么一直连着,也不超时,
代理肯定不行,
我迷惑的是为什么不超时?
我用httpclient试了也这样,还需要怎么设置呢
那些代理服务器验证软件都行,显示超时了. 

解决方案 »

  1.   

    因为代理连不上,而你又conn.setReadTimeout(10*1000);
    所以不会超时。去掉conn.setReadTimeout(10*1000);
      

  2.   

    Exception in thread "main" java.net.SocketException: connect timed out
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:405)
    at java.net.Socket.connect(Socket.java:516)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:152)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
    at sun.net.www.http.HttpClient.New(HttpClient.java:287)
    at sun.net.www.http.HttpClient.New(HttpClient.java:299)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:796)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:775)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:673)
    at Test.main(Test.java:30)估计是你系统的问题。