Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SFTP
SMTP
Socket / SSL
Spider
SSH
SSH Key
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

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

 

 

 

 

 

 

 

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-2010 Chilkat Software, Inc. All Rights Reserved.