Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

socket = Chilkat::CkSocket.new()

# 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.put_SocksHostname("www.mysocksproxyserver.com")
socket.put_SocksPort(1080)
socket.put_SocksUsername("myProxyLogin")
socket.put_SocksPassword("myProxyPassword")
# Set the SOCKS version to 4 or 5 based on the version
# of the SOCKS proxy server:
socket.put_SocksVersion(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.
hostname = "192.168.1.108"
ssl = false
maxWaitMillisec = 20000
success = socket.Connect(hostname,5555,ssl,maxWaitMillisec)
if (success != true)
    print socket.lastErrorText() + "\n";
    exit
end

# Set maximum timeouts for reading an writing (in millisec)
socket.put_MaxReadIdleMs(10000)
socket.put_MaxSendIdleMs(10000)

# The server (in this example) is going to send a "Hello World!" 
# message.  Read it:
receivedMsg = socket.receiveString()
if (socket.get_LastMethodSuccess() != true)
    print socket.lastErrorText() + "\n";
    exit
end

# Close the connection with the server
# Wait a max of 20 seconds (20000 millsec)
success = socket.Close(20000)

print receivedMsg + "\n";