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
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA

Unreleased...
LZW
Icon

 

 

 

 

 

 

 

HTTP Session with Cookies

How to keep a session with cookies. Demonstrates how to login to WordPress.

Download Chilkat Ruby Library

require 'chilkat'

req = Chilkat::CkHttpRequest.new()
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

#  This example will demonstrate maintaining a session with
#  cookies by doing a simple login to a WordPress blog.
#  Indicate that cookies are to be saved and re-sent.
#  Instead of using a cookie file, you may use the string "memory"
#  to save cookies to memory.
http.put_CookieDir("memory")
http.put_SendCookies(true)
http.put_SaveCookies(true)

#  Let's first hit the chilkat.wordpress.com login page to make sure
#  we have any initial cookies...

html = http.quickGetStr("http://chilkat.wordpress.com/wp-login.php")
if (html == nil )
    print http.lastErrorText() + "\n";
    exit
end

#  Build an HTTP POST request to login
req.UsePost()
req.put_Path("/wp-login.php")
req.AddParam("log","chilkat")
req.AddParam("pwd","myPassword")
req.AddParam("rememberme","forever")
req.AddParam("wp-submit","Login")
req.AddParam("redirect_to","/wp-admin/")

req.AddHeader("Referer","http://chilkat.wordpress.com/wp-login.php")

#  Send the HTTP POST and get the response.  Note: This is a blocking call.
#  The method does not return until the full HTTP response is received.

domain = "chilkat.wordpress.com"
port = 80
ssl = false

resp = http.SynchronousRequest(domain,port,ssl,req)
if (resp == nil )
    print http.lastErrorText() + "\n";
    exit
end

#  Is this a 302 redirect?
if (resp.get_StatusCode() == 302)

    #  Get the redirect URL:

    redirectUrl = resp.getHeaderField("Location")

    html = http.quickGetStr(redirectUrl)
    if (html == nil )
        print http.lastErrorText() + "\n";
    else
        print html + "\n";
    end

else
    print resp.bodyStr() + "\n";
end

 

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

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