Java Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Java Examples

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

More Examples...
Email Object
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Icon

 

 

 

 

 

 

 

Amazon S3 - Add Text Object to Bucket

This example writes some text and metadata into the "Neo" object in the "chilkat" bucket:

Download Chilkat Java Library

import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    CkHttp http = new CkHttp();
    boolean success;
    success = http.UnlockComponent("Anything for 30-day trial.");
    if (success != true) {
        //  Unlock failed.
        System.out.println(http.lastErrorText());
        return;
    }

    //  We'll need this for HMAC and MD5...
    CkCrypt2 crypt = new CkCrypt2();

    success = crypt.UnlockComponent("Anything for 30-day trial.");
    if (success != true) {
        System.out.println(crypt.lastErrorText());
        return;
    }

    //  The HTTP component now includes a method to generate
    //  the current date/time in RFC 2616 compliant format.
    //  Note: The GenTimeStamp method is available as a pre-release (as of 18-June-2008).
    //  It will become available in the next new version dated after
    //  18-June-2008.
    String curDateTime;
    curDateTime = http.genTimeStamp();

    //  This is the content of the text object to be added to
    //  the "chilkat" bucket:
    String textData;
    textData = "woah";

    //  This is the name of the object to be added:
    String objName;
    objName = "Neo";

    //  Calculate the MD5 hash of the object's content:
    crypt.put_HashAlgorithm("md5");
    crypt.put_EncodingMode("base64");
    crypt.put_Charset("windows-1252");
    String md5Hash;
    md5Hash = crypt.hashStringENC(textData);

    //  Create the string to be signed.
    //  IMPORTANT:
    //  If a Content-MD5 header is added (see below), then
    //  you also need to include the MD5 hash of the content
    //  here.
    //  The content-type (text/plain) must match the content-type
    //  passed to the PutText method (below).
    String strToSign;
    strToSign = "PUT" + "\n" + md5Hash + "\n" + "text/plain" + "\n" + curDateTime + "\n" + "/chilkat/" + objName;

    //  We want SHA1 for the HMAC hash algorithm:
    crypt.put_HashAlgorithm("sha1");

    //  These must be changed for your account:
    String AWSAccessKeyId;
    AWSAccessKeyId = "zzzzzzzzzzzzzzzzzzzz";
    String AWSSecretAccessKey;
    AWSSecretAccessKey = "zzzzzzzzzzzzzzzzzzzzzzzzzzzz";

    //  Set the HMAC secret key:
    crypt.SetHmacKeyString(AWSSecretAccessKey);

    //  By setting the charset = "utf-8", the string will be converted
    //  to utf-8 (internal to the Chilkat component) prior to signing:
    crypt.put_Charset("utf-8");

    //  Indicate that Base64 output is desired:
    crypt.put_EncodingMode("base64");

    String signature;
    signature = crypt.hmacStringENC(strToSign);

    String authValue;
    authValue = "AWS " + AWSAccessKeyId + ":" + signature;

    //  The bucket to be used is specified in the Host header.
    //  In this example, the object is added to the "chilkat" bucket:
    http.SetRequestHeader("Host","chilkat.s3.amazonaws.com");

    http.SetRequestHeader("Authorization",authValue);
    http.SetRequestHeader("Date",curDateTime);

    //  Do not GZIP the request body.  To send a gzip compressed
    //  object, simply set this to true
    boolean bGzip;
    bGzip = false;
    //  Automatically add an MD5 hash of the request body in the HTTP header
    //  (using the Content-MD5 header field).
    boolean bMd5;
    bMd5 = true;

    String url;
    url = "http://s3.amazonaws.com/" + objName;

    String strResponse;
    strResponse = http.putText(url,textData,"windows-1252","text/plain",bMd5,bGzip);
    if (http.get_LastStatus() == 200) {

        System.out.println("Object added to bucket!");

        //  Let's check out the response header anyway...
        System.out.println(http.lastResponseHeader());

    }
    else {

        //  Failed.  Show the last request header, response header,
        //  and response body.
        System.out.println(http.lastHeader());
        System.out.println("---");
        System.out.println(http.lastResponseHeader());
        System.out.println("---");
        System.out.println(http.lastErrorText());

    }

  }
}

 

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

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