public function sign($body)
 {
     $contentType = 'application/octet-stream';
     $headers = new Header();
     $headers->put('Authorization', 'Odps 93475345628');
     $headers->put('Content-Type', $contentType);
     $headers->put('Content-MD5', md5($body));
     $headers->put('Date', gmdate('D, d M Y H:i:s T', time()));
     $headers->formatRaw();
     //        echo $headers->getRaw();
     //        $response = $request->request($parameters, $headers->getRaw());
     //        var_dump($request);
     //        var_dump($response);
     //        Signature = base64(HmacSha1(AccessKey, VERB + "\n"
     //            + CONTENT-MD5 + "\n"
     //            + CONTENT-TYPE + "\n"
     //            + DATE + "\n"
     //            + CanonicalizedODPSHeaders + "\n"
     //            + CanonicalizedResource))
     //
     //        POST /projects/test_project/resources HTTP/1.1
     //        Authorization: ODPS 12CF3450006BF789F103:z7/QmEf7ZZYABY6S7GSrfSjltv8=
     //        Content-MD5: e5828c564f71fea3a12dde8bd5d27063
     //        Content-Type: application/octet-stream
     //        Date: Thu, 26 Nov 2015 08:56:57 GMT
     //        Host: http://service-corp.odps.aliyun-inc.com/api
     //        x-odps-resource-name: test.file
     //        x-odps-resource-type: file
     $string = md5('body') + "\n";
     $string .= $contentType + "\n";
     $string .= gmdate('D, d M Y H:i:s T', time()) + "\n";
     //        $string .=
     $signature = base64_encode(hash_hmac("sha1", $this->accessKey, $string, true));
     return "ODPS" . $this->accessId . $signature;
 }