ASP Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

ASP Examples

ASP String
ASP Byte Array
Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar
ASP Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Email Object
DKIM / DomainKey
NTLM
DH Key Exchange
DSA
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

 

 

 

 

 

 

SSH Tunnel using an HTTP proxy

Demonstrates how to establish an SSH tunnel that uses an HTTP proxy.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
set sshTunnel = Server.CreateObject("Chilkat.SshTunnel")

success = sshTunnel.UnlockComponent("30-day trial")
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode(sshTunnel.LastErrorText) & "</pre>"

End If

'  The DestHostname / DestPort is the server with which we
'  are ultimately communicating.
sshTunnel.DestPort = 1433
sshTunnel.DestHostname = "myServer.com"

'  Provide information about the location of the SSH server,
'  and the authentication to be used with it. This is the
'  login information for the SSH server.
sshTunnel.SshHostname = "192.168.1.108"
sshTunnel.SshPort = 22
sshTunnel.SshLogin = "mySshLogin"
sshTunnel.SshPassword = "mySshPassword"

'  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.
sshTunnel.HttpProxyHostname = "www.my-http-proxy.com"
sshTunnel.HttpProxyPort = 3128

'  Important:  Your HTTP proxy server must allow non-HTTP
'  traffic to pass.  Otherwise this does not work.

'  Start accepting connections in a background thread.
'  The SSH tunnels are autonomously run in a background
'  thread.  There is one background thread for accepting
'  connections, and another for managing the tunnel pool.
listenPort = 3316
success = sshTunnel.BeginAccepting(listenPort)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode(sshTunnel.LastErrorText) & "</pre>"

End If

'  At this point you may write code to communicate with
'  the server at DestHostname/DestPort.  This could be anything --
'  it could be WinSock, ADO/ODBC code, Chilkat Socket, etc.
'  However, instead of connecting directly to DestHostname/DestPort,
'  your code would connect to localhost:3316 (because this
'  is the listenPort of the SSH Tunnel

'  This is what happens when you connect to localhost:3316
'  1) The connection is accepted by the SSH tunnel
'      background thread (which was started in the call to BeginAccepting).
'  2) In the background thread, a connection to a remote SSH
'      server is established via an HTTP proxy.
'  3) Port-forwarding is setup so that the remote SSH server connects
'     to the DestHostname/DestPort.
'  4) Data sent by your application to localhost:3316 is ultimately forwarded to DestHostname/DestPort
'   5) Data sent back from DestHostname/DestPort is forwarded back and received by your application

'  When you're finished with the  connection, you may
'  stop the background tunnel threads:
'  Stop the background thread that accepts new connections:
success = sshTunnel.StopAccepting()
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode(sshTunnel.LastErrorText) & "</pre>"

End If

'  If any background tunnels are still in existence (and managed
'  by a single SSH tunnel pool background thread), stop them...
maxWaitMs = 1000
success = sshTunnel.StopAllTunnels(maxWaitMs)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode(sshTunnel.LastErrorText) & "</pre>"

End If

%>
</body>
</html>

 

© 2000-2012 Chilkat Software, Inc. All Rights Reserved.