Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) REST through HTTP ProxyDemonstrates how to connect through an HTTP proxy to make REST API calls.
LOCAL loRest LOCAL loSocket LOCAL lnBTls LOCAL lnPort LOCAL lnMaxWaitMs LOCAL lnSuccess LOCAL loAuthAws LOCAL lcResponseXml LOCAL loXml * 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. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rest') loRest = CreateObject('Chilkat.Rest') * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Socket') loSocket = CreateObject('Chilkat.Socket') * Set the HTTP proxy domain or IP address, and port. loSocket.HttpProxyHostname = "192.168.1.100" loSocket.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). loSocket.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. lnBTls = 1 lnPort = 443 lnMaxWaitMs = 5000 lnSuccess = loSocket.Connect("s3.amazonaws.com",lnPort,lnBTls,lnMaxWaitMs) IF (lnSuccess <> 1) THEN ? "Connect Failure Error Code: " + STR(loSocket.ConnectFailReason) ? loSocket.LastErrorText RELEASE loRest RELEASE loSocket CANCEL ENDIF * Use the proxied TLS connection: lnSuccess = loRest.UseConnection(loSocket,1) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loSocket CANCEL ENDIF * Provide AWS credentials for the REST call. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.AuthAws') loAuthAws = CreateObject('Chilkat.AuthAws') loAuthAws.AccessKey = "AWS_ACCESS_KEY" loAuthAws.SecretKey = "AWS_SECRET_KEY" loAuthAws.ServiceName = "s3" lnSuccess = loRest.SetAuthAws(loAuthAws) * List all buckets for the account... lcResponseXml = loRest.FullRequestNoBody("GET","/") IF (loRest.LastMethodSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loSocket RELEASE loAuthAws CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXml = CreateObject('Chilkat.Xml') lnSuccess = loXml.LoadXml(lcResponseXml) * Show the full XML returned. ? loXml.GetXml() * Iterate over the buckets, showing each bucket name. lnSuccess = loXml.FindChild2("Buckets") IF (loXml.FirstChild2() = 1) THEN ? loXml.GetChildContent("Name") DO WHILE (loXml.NextSibling2() = 1) ? loXml.GetChildContent("Name") ENDDO ENDIF * Move the internal pointer back to the root node. loXml.GetRoot2() RELEASE loRest RELEASE loSocket RELEASE loAuthAws RELEASE loXml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.