My codes below is used to access the amazon s3 to get a .zip file .
and my request url is like this:
http://xxx.s3.amazonaws.com/Pack1A.zip?AWSAccessKeyId=AKIAIEMQY4BEQUOCUP7Q&Expires=1298945115&Signature=sxoXZ4y7osXjn
IycQynGbE9%2Bb5E%3D
Code Snippet:
time_t rawtime;
time(&rawtime);
gHttpDownloader->SetRequestHeader("Authorization","AWS AKIAIEMQY4BEQUOCUP7Q:aN6bjwDkeZXIHDrqk3MHlj4shl0%3D");
gHttpDownloader->SetRequestHeader("Authorization", buf);
gHttpDownloader->SetRequestHeader("Cache-Control", "max-age=0");
gHttpDownloader->SetRequestHeader("Accept","application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*;q=0.5");
gHttpDownloader->SetRequestHeader("Accept-Encoding", "gzip,deflate,sdch");
gHttpDownloader->SetRequestHeader("Accept-Language", "en-GB");
gHttpDownloader->SetRequestHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.3");
gHttpDownloader->Post(gURL, NULL,0,GotHeaders, NULL);
............ //GotHeaders is a callback function that reads input from the response.
It always prints the error of 403 forbidden. Can someone tell me why?
Ensure that all ACLs are set correctly.
The example URL is using
Query String Authenticationbut the code example shows setting theAuthorizationis being set. You only need to set one or the other. See the docs.There is also a AWS PHP SDK.