如何使用java中的URL从AmazonS3下载对象

如何使用java中的URL从AmazonS3下载对象,java,amazon-web-services,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);

下面是我的代码

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为

使用上面的URL,我试图下载abc.txt,但出现错误403(服务器返回了URL的HTTP响应代码:403)


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

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

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

请避免重复和简单的问题。请提供相同问题的链接。:)