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;
 }
Esempio n. 2
0
 public function putProject()
 {
     $bodyArray = array('Name' => 'fengzbao_new_odps' . time(), 'Comment' => time() . 'comment');
     $body = $this->createPutProjectXmlBody($bodyArray);
     $uri = '/project/fengzbaoodps';
     $request = new Request($this->endPoint . $uri, 'PUT');
     $request->setBody($body);
     $header = new Header();
     $header->setUserAgent();
     $header->put('Content-Type', Request::$contentTypeXml);
     if ($body) {
         $header->put('Content-MD5', md5($request->getBody()));
     }
     $header->put('Date', gmdate('D, d M Y H:i:s T', time()));
     $request->setHeader($header);
     $header->put('Authorization', $this->sign($request));
     $header->formatRaw();
     $request->setHeader($header);
     var_dump($request->header);
     return $request->request($header->getRaw());
 }