2014-09-10 4 views
2

Ниже мой кодКак загрузить объекты Amazon S3, используя URL в Java

AmazonS3 s3 = new AmazonS3Client(credentials,config); // assume proper authentication 

// generating URL for some bucket(XYZ) and key(test/abc.txt) 

java.util.Date expiration = new java.util.Date(); 
     expiration.setTime(6000*10*20); 
     GeneratePresignedUrlRequest generateUrl = new GeneratePresignedUrlRequest("XYZ", "test/abc.txt"); 
     generateUrl.setMethod(HttpMethod.GET); // Default. 
     generateUrl.setExpiration(expiration); 
URL url = s3.generatePresignedUrl(generateUrl); 

о/р выше код
https://s3.amazonaws.com/XYX/test/abc.txt?AWSAccessKeyId=XXXXXXXXXXXXXXXXX&Expires=1200&Signature=YYYYYYYYYYYYYYYYY

Использование выше URL Я пытаюсь загрузить abc.txt но я получаю ошибку 403 (сервер вернул код ответа HTTP: 403 для URL :)

Пожалуйста, дайте мне знать, как я могу загружать файлы по URL-адресу из amazon s3.

+0

не могли бы вы избежать дублирования и простых вопросов. –

+1

Просьба указать ссылку на тот же вопрос. :) –

ответ

1

Используйте HttpURLConnection, вы должны иметь доступ к запрошенной веб-странице из java. Попробуйте использовать следующий код:

HttpURLConnection httpcon = (HttpURLConnection) url.openConnection(); 
httpcon.addRequestProperty("User-Agent", "YOUR_BROWSER_AGENT"); 
Смежные вопросы