Sample code for 30+ languages & platforms
PureBasic

HTTP/HTTPS using SOCKS5 Proxy

See more HTTP Examples

Demonstrates how to use HTTP/HTTPS with a SOCKS5 proxy.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkHttp.pb"

Procedure ChilkatExample()

    ; This example assumes the Chilkat HTTP API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Using a SOCKS5 proxy is just a matter of setting a few properties.
    ; Once these properties are set, all other coding is the same as when
    ; the connection is direct to the HTTP server.

    ; Set the SocksVersion property = 5 for SOCKS5
    CkHttp::setCkSocksVersion(http, 5)

    ; Set the SocksHostname to the SOCKS proxy domain name or IP address, 
    ; which may be IPv4 (dotted notation) or IPv6.
    CkHttp::setCkSocksHostname(http, "192.168.1.100")

    ; The port where the SOCKS5 proxy is listening.
    CkHttp::setCkSocksPort(http, 1080)

    ; If the SOCKS5 proxy itself requires authentication, set the username/password 
    ; like this.  (otherwise leave the username/password empty)
    CkHttp::setCkSocksUsername(http, "myUsername")
    CkHttp::setCkSocksPassword(http, "myPassword")

    ; Now do whatever it is you need to do.  All communications will go through the proxy.
    html.s = CkHttp::ckQuickGetStr(http,"https://www.google.com/")
    If CkHttp::ckLastMethodSuccess(http) <> 1
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        ProcedureReturn
    EndIf

    Debug html
    Debug "----"
    Debug "Success!"


    CkHttp::ckDispose(http)


    ProcedureReturn
EndProcedure