2014-09-10 92 views
2

下面是我的代碼如何下載使用Java中的URL從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

使用上述網址我想下載的abc.txt但我得到錯誤403(服務器返回的HTTP響應代碼:403的URL :)

請讓我知道我可以使用來自亞馬遜s3的URL下載文件。

+0

你能否請避免重複和簡單的問題。 – 2014-09-10 11:44:54

+1

請提供相同問題的鏈接。 :) – 2014-09-10 11:56:50

回答

1

使用HttpURLConnection您應該可以從java訪問所請求的網頁。請嘗試以下代碼:

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