Sample code for 30+ languages & platforms
Java

Socket/SSL/TLS through SOCKS5 / SOCKS4 Proxy

See more Socket/SSL/TLS Examples

Demonstrates how to use the Chilkat Socket/SSL/TLS component/library with a SOCKS5 or SOCKS4 proxy server.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Socket;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Socket socket = new Socket();

        // To use a SOCKS4 or SOCKS5 proxy, simply set the following
        // properties prior to calling Connect.  The connection may be SSL/TLS or
        // non-secure - both will work with a SOCKS proxy.
        // The SOCKS hostname may be a domain name or
        // IP address:
        socket.setSocksHostname("www.mysocksproxyserver.com");
        socket.setSocksPort(1080);
        socket.setSocksUsername("myProxyLogin");
        socket.setSocksPassword("myProxyPassword");
        // Set the SOCKS version to 4 or 5 based on the version
        // of the SOCKS proxy server:
        socket.setSocksVersion(5);
        // Note: SOCKS4 servers only support usernames without passwords.
        // SOCKS5 servers support full login/password authentication.

        // Connect to port 5555 of 192.168.1.108.
        // hostname may be a domain name or IP address.
        String hostname = "192.168.1.108";
        boolean ssl = false;
        int maxWaitMillisec = 20000;
        String receivedMsg;
        try {
            socket.connect(hostname, 5555, ssl, maxWaitMillisec);

            // Set maximum timeouts for reading an writing (in millisec)
            socket.setMaxReadIdleMs(10000);
            socket.setMaxSendIdleMs(10000);

            // The server (in this example) is going to send a "Hello World!"
            // message.  Read it:
            receivedMsg = socket.receiveString();
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Close the connection with the server
        // Wait a max of 20 seconds (20000 millsec)
        socket.closeConnection(20000);

        System.out.println(receivedMsg);
    }
}