java - 如何在 java 中使用 URL 从 amazon S3 下载对象

标签 java amazon-web-services amazon-s3

下面是我的代码

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

上面代码的o/p是
https://s3.amazonaws.com/XYX/test/abc.txt?AWSAccessKeyId=XXXXXXXXXXXXXXXXX&Expires=1200&Signature=YYYYYYYYYYYYYYYYY

使用上面的 URL 我正在尝试下载 abc.txt 但我收到错误 403(服务器返回的 HTTP 响应代码:URL 的 403:)

请告诉我如何使用 URL 从 amazon s3 下载文件。

最佳答案

使用 HttpURLConnection 您应该能够从 java 访问请求的网页。试试下面的代码:

 HttpURLConnection httpcon = (HttpURLConnection) url.openConnection(); 
 httpcon.addRequestProperty("User-Agent", "YOUR_BROWSER_AGENT");

关于java - 如何在 java 中使用 URL 从 amazon S3 下载对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25764419/

相关文章:

java - Spring MVC - 在浏览器中显示来自数据库的数据

java - 使用 Java 解析来自 Amazon SES 的原始电子邮件

amazon-web-services - Ansible Dynamic Inventory 获取最新ec2信息失败

javascript - 仅使用 javascript 显示来自 Amazon S3 存储桶的图像

python - Boto3 S3 列表对象在 AWS lambda 中抛出错误

amazon-web-services - 亚马逊 S3 : Temporary Credentials

java - 线程 "main"java.lang.OutOfMemoryError : GC overhead limit exceeded 中 POI 的异常

java - 返回null是否正确?

java - 为多个源生成唯一 ID

amazon-web-services - Auto Scaling Group 启动配置更改