|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Classic ASP) REST through SSH TunnelDemonstrates how to connect through an SSH Tunnel (via port-forwarding) to make REST API calls. Note: This example requires Chilkat v11.0.0 or greater. 
 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% success = 0 ' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. set tunnel = Server.CreateObject("Chilkat.Socket") sshHostname = "sftp.example.com" sshPort = 22 ' Connect to an SSH server and establish the SSH tunnel: success = tunnel.SshOpenTunnel(sshHostname,sshPort) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( tunnel.LastErrorText) & "</pre>" Response.End End If ' Authenticate with the SSH server via a login/password ' or with a public key. ' This example demonstrates SSH password authentication. success = tunnel.SshAuthenticatePw("mySshLogin","mySshPassword") If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( tunnel.LastErrorText) & "</pre>" Response.End End If ' OK, the SSH tunnel is setup. Now open a channel within the tunnel. ' (Any number of channels may be created from the same SSH tunnel. ' Multiple channels may coexist at the same time.) ' This example connects to a REST server through the SSH tunnel. ' It will connect to the Amazon AWS service for this example. set rest = Server.CreateObject("Chilkat.Rest") bTls = 1 port = 443 maxWaitMs = 5000 ' This returns a socket object that is a single channel within the SSH tunnel. set channel = Server.CreateObject("Chilkat.Socket") success = tunnel.SshNewChannel("s3.amazonaws.com",port,bTls,maxWaitMs,channel) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( tunnel.LastErrorText) & "</pre>" Response.End End If ' Use the connection. (This connection is a TLS running on an SSH channel through an SSH tunnel. ' In other words, TLS is wrapped within the SSH tunnel.) success = rest.UseConnection(channel,1) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Response.End End If ' Provide AWS credentials for the REST call. set authAws = Server.CreateObject("Chilkat.AuthAws") authAws.AccessKey = "AWS_ACCESS_KEY" authAws.SecretKey = "AWS_SECRET_KEY" authAws.ServiceName = "s3" success = rest.SetAuthAws(authAws) ' List all buckets for the account... responseXml = rest.FullRequestNoBody("GET","/") If (rest.LastMethodSuccess <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Response.End End If set xml = Server.CreateObject("Chilkat.Xml") success = xml.LoadXml(responseXml) ' Show the full XML returned. Response.Write "<pre>" & Server.HTMLEncode( xml.GetXml()) & "</pre>" ' Iterate over the buckets, showing each bucket name. success = xml.FindChild2("Buckets") If (xml.FirstChild2() = 1) Then Response.Write "<pre>" & Server.HTMLEncode( xml.GetChildContent("Name")) & "</pre>" Do While (xml.NextSibling2() = 1) Response.Write "<pre>" & Server.HTMLEncode( xml.GetChildContent("Name")) & "</pre>" Loop End If ' Move the internal pointer back to the root node. xml.GetRoot2 %> </body> </html> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.