Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Ruby Unicode
Ruby Byte Array
Ruby Certs
Ruby Email
Ruby Encryption
Ruby FTP
HTML-to-XML
Ruby HTTP
Ruby IMAP
Ruby MHT
Ruby MIME
Ruby S/MIME
Ruby Signatures
Ruby RSA
Ruby Socket
Ruby Spider
Ruby Tar
Ruby Upload
Ruby XML
Ruby XMP
Ruby Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
LZW
Bz2
Icon

 

 

 

 

 

 

 

Tracing HTTP Redirects

Example to trace through HTTP redirects.

Download Chilkat Ruby Library

require 'chilkat'

http = Chilkat::CkHttp.new()

#  Any string unlocks the component for the 1st 30-days.
success = http.UnlockComponent("Anything for 30-day trial")
if (success != true)
    print http.lastErrorText() + "\n"
    exit
end

url = "http://www.planyourweddingonline.co.za/"

#  The FollowRedirects property controls whether redirects
#  are automatically followed.  The default behavior is to
#  automatically follow redirects.

#  Explicitly set FollowRedirects so that redirects are NOT automatically taken:
http.put_FollowRedirects(false)

#  Send the HTTP GET and return the content in a string.
html = http.quickGetStr(url)
if (html == nil )
    print http.lastErrorText() + "\n"
end

status = http.get_LastStatus()
print "HTTP Response Status: " + status.to_s() + "\n";

#  The FinalRedirectUrl property will contain the redirect URL
#  If FollowRedirects was equal to true, then all of the
#  intermediate redirects (if any) would be followed until
#  there were no more redirects.  However, because
#  FollowRedirects is not true, FinalRedirectUrl contains
#  the next redirect URL.
print "Redirect URL: " + http.finalRedirectUrl() + "\n";

loopCount = 0

while (status == 302)
    url = http.finalRedirectUrl()
    html = http.quickGetStr(url)
    if (html == nil )
        print http.lastErrorText() + "\n"
        break
    end

    status = http.get_LastStatus()
    print "Redirect URL: " + http.finalRedirectUrl() + "\n";

    #  You may wish to check that if FinalRedirectUrl
    #  equals the URL just retrieved.  If so, then break out of the
    #  loop.  (This check is omitted in this example.)

    #  Instead, this example will prevent infinite loops by
    #  keeping a loopCount and only allows following a max
    #  of 10 redirects:
    loopCount = loopCount + 1
    if (loopCount > 10)
        break
    end

end
 

Need a specific example? Send a request to support@chilkatsoft.com

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