http://lightning.prohosting.com/~kirillka/SOCKS/index.shtml^_^

解决方案 »

  1.   

    不知道楼主什么意思.如果是要通过proxy的话:System.getProperties().put( "proxySet", "true" );
    System.getProperties().put( "proxyHost", "myProxyMachineName" );
    System.getProperties().put( "proxyPort", "85" );
    上面的第一行通知 Java 您要通过代理进行连接,第二行指定代理所在的机器,第三行指定代理监听的端口。有些代理在授权用户访问因特网之前,要求用户输入用户名和口令。如果您使用位于防火墙之内的 Web 浏览器,您就可能碰到过这种情况。以下是执行认证的方法:URLConnection connection = url.openConnection();
    String password = "username:password";
    String encodedPassword = base64Encode( password );
    connection.setRequestProperty( "Proxy-Authorization", encodedPassword );
    这段代码的思想是,您必须调整 HTTP 标头以发出用户信息。这是通过调用 setRequestProperty() 来实现的。这种方法允许您在发出请求之前处理 HTTP 标头。HTTP 要求用 base64 对用户名和口令进行编码。幸运的是,有一组公用域 API,它们将代您执行编码(请参阅参考资源部分)。如您所见,在 Java 应用程序中加入代理支持并不需要做多少工作。有了现在的知识,再做一点研究(您必须查明您的代理是如何处理您感兴趣的协议以及如何进行用户认证的),您就能用其他协议实现代理。
      

  2.   

    你需要用Proxy模式来做什么,说清楚啊,单单一个Proxy模式不能说明什么问题,用法多了去了!