PureBasic
PureBasic
TCP Socket Connect through HTTP Proxy
See more Socket/SSL/TLS Examples
Demonstrates how to connect through an HTTP proxy server.Chilkat PureBasic Downloads
IncludeFile "CkSocket.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
socket.i = CkSocket::ckCreate()
If socket.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; To connect through an HTTP proxy, set the HttpProxyHostname
; and HttpProxyPort properties to the hostname (or IP address)
; and port of the HTTP proxy. Typical port numbers used by
; HTTP proxy servers are 3128 and 8080.
CkSocket::setCkHttpProxyHostname(socket, "www.my-http-proxy.com")
CkSocket::setCkHttpProxyPort(socket, 3128)
; Important: Your HTTP proxy server must allow non-HTTP
; traffic to pass. Otherwise this does not work.
; Connect (via the HTTP proxy) to port 5555 of 192.168.1.108.
; hostname may be a domain name or IP address.
hostname.s = "192.168.1.108"
ssl.i = 0
maxWaitMillisec.i = 20000
success = CkSocket::ckConnect(socket,hostname,5555,ssl,maxWaitMillisec)
If success <> 1
Debug CkSocket::ckLastErrorText(socket)
CkSocket::ckDispose(socket)
ProcedureReturn
EndIf
; Set maximum timeouts for reading an writing (in millisec)
CkSocket::setCkMaxReadIdleMs(socket, 10000)
CkSocket::setCkMaxSendIdleMs(socket, 10000)
; The ficticious server (in this example) is going to send a "Hello World!"
; message. Read it:
receivedMsg.s = CkSocket::ckReceiveString(socket)
If CkSocket::ckLastMethodSuccess(socket) <> 1
Debug CkSocket::ckLastErrorText(socket)
CkSocket::ckDispose(socket)
ProcedureReturn
EndIf
; Close the connection with the server
; Wait a max of 20 seconds (20000 millsec)
success = CkSocket::ckClose(socket,20000)
Debug receivedMsg
CkSocket::ckDispose(socket)
ProcedureReturn
EndProcedure