Sample code for 30+ languages & platforms
Visual Basic 6.0

REST through HTTP Proxy

See more REST Examples

Demonstrates how to connect through an HTTP proxy to make REST API calls.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

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

' This example connects to a REST server through an HTTP proxy.
' It will connect to the Amazon AWS service for this example.
Dim rest As New ChilkatRest
Dim socket As New ChilkatSocket

' Set the HTTP proxy domain or IP address, and port.
socket.HttpProxyHostname = "192.168.1.100"
socket.HttpProxyPort = 8088

' We want to tell the socket object that we're doing HTTP over the proxy connection.
' This is because an HTTP proxy used for other protocols (IMAP, SMTP, SSH, FTP, etc.) 
' can require some internal differences in behavior (i.e. how we do things).
socket.HttpProxyForHttp = 1

' Other properties exist for specifying a proxy login, password, and authentication method (such as NTLM),
' but these are not used in this example.

' Connect through the HTTP proxy to the Amazon AWS server for the S3 service.
Dim bTls As Long
bTls = 1
Dim port As Long
port = 443
Dim maxWaitMs As Long
maxWaitMs = 5000
success = socket.Connect("s3.amazonaws.com",port,bTls,maxWaitMs)
If (success <> 1) Then
    Debug.Print "Connect Failure Error Code: " & socket.ConnectFailReason
    Debug.Print socket.LastErrorText
    Exit Sub
End If

' Use the proxied TLS connection:
success = rest.UseConnection(socket,1)
If (success <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

' Provide AWS credentials for the REST call.
Dim authAws As New ChilkatAuthAws
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
authAws.ServiceName = "s3"
success = rest.SetAuthAws(authAws)

' List all buckets for the account...
Dim responseXml As String
responseXml = rest.FullRequestNoBody("GET","/")
If (rest.LastMethodSuccess <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

Dim xml As New ChilkatXml
success = xml.LoadXml(responseXml)

' Show the full XML returned.
Debug.Print xml.GetXml()

' Iterate over the buckets, showing each bucket name.
success = xml.FindChild2("Buckets")
If (xml.FirstChild2() = 1) Then
    Debug.Print xml.GetChildContent("Name")
    Do While (xml.NextSibling2() = 1)
        Debug.Print xml.GetChildContent("Name")
    Loop
End If

' Move the internal pointer back to the root node.
xml.GetRoot2