Java Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Java Examples

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

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

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

Amazon S3 - Delete Bucket (REST API)

Deletes an Amazon S3 bucket using the REST API. This example deletes the bucket named "chilkat3".

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;
    }

    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();

    //  Delete the bucket named "chilkat3"
    String strToSign;
    strToSign = "DELETE" + "\n" + "\n" + "\n" + curDateTime + "\n" + "/chilkat3/";

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

    //  These must be changed for your account:
    String AWSAccessKeyId;
    AWSAccessKeyId = "zzzzzzzzzzzzzzzzzzzzz";
    String AWSSecretAccessKey;
    AWSSecretAccessKey = "zzzzzzzzzzzzzzzzzzzzzzzzzzz";

    //  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 deleted is specified in the Host header.
    //  In this example, the "chilkat3" bucket is deleted
    http.SetRequestHeader("Host","chilkat3.s3.amazonaws.com");

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

    //  Send the DELETE request.
    String responseStr;
    responseStr = http.quickDeleteStr("http://s3.amazonaws.com/");

    if (responseStr == null ) {
        //  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());
    }
    else {

        //  Success is indicated by an empty response string, and
        //  a response status of 204.
        if (http.get_LastStatus() == 204) {
            System.out.println("Bucket deleted!");

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

        }
        else {

            //  Is this a temporary redirect?
            if (http.get_LastStatus() == 307) {

                //  The new endpoint is in the XML contained within responseStr.
                CkXml xml = new CkXml();
                xml.LoadXml(responseStr);
                String endpoint;
                endpoint = xml.getChildContent("Endpoint");
                responseStr = http.quickDeleteStr(endpoint);
                if (http.get_LastStatus() == 204) {
                    System.out.println("Bucket deleted after redirect!");

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

                }
                else {
                    //  What happened???
                    System.out.println("LastStatus: "
                         + http.get_LastStatus());
                    System.out.println("---");
                    System.out.println(responseStr);
                    System.out.println("---");
                    System.out.println(http.lastHeader());
                    System.out.println("---");
                    System.out.println(http.lastResponseHeader());
                    System.out.println("---");
                    System.out.println(http.lastErrorText());
                }

            }
            else {
                //  What response is this???
                System.out.println("LastStatus: "
                     + http.get_LastStatus());
                System.out.println("---");
                System.out.println(responseStr);
                System.out.println("---");
                //  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.