2014-02-27 93 views
0

我正在使用下面的代碼來下載s3。此代碼來自我的Android應用。java.net.UnknownHostException for bucketname.s3.amazonaws.com

public void downloadFile(String baseDir, String imageName) throws IOException { 
    this.s3Client = new AmazonS3Client(new BasicAWSCredentials(accessKey,secretKey)); 

    String s3key = baseDir + "/" + imageName ; 

    Log.d(tag, "downloading S3 file with key = " + s3key); 

    S3ObjectInputStream content = null; 
    try { 
     content = s3Client.getObject(bucketName,s3key).getObjectContent(); 
    } catch(RuntimeException ex) { 
     Log.e(tag, "error while downloding S3 file with key = " + s3key ,ex); 
     throw new IOException(ex); 
    } 

當我執行這個代碼,我得到以下異常:當我火的URL

02-28 00:48:53.589: D/s3dao(4078): downloading S3 file with key = level1/2_3.jpg 
02-28 00:48:54.800: I/AmazonHttpClient(4078): Unable to execute HTTP request: fourpicstest.s3.amazonaws.com 
02-28 00:48:54.800: I/AmazonHttpClient(4078): java.net.UnknownHostException: fourpicstest.s3.amazonaws.com 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at java.net.InetAddress.lookupHostByName(InetAddress.java:512) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:300) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at java.net.InetAddress.getAllByName(InetAddress.java:259) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:278) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:377) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:228) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3215) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1038) 
02-28 00:48:54.800: I/AmazonHttpClient(4078): at com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:920) 

然而,:fourpicstest.s3.amazonaws.com,我得到 「拒絕訪問異常」

bucket fourpicstest確實存在。

+0

你嘗試過這個問題嗎? http://stackoverflow.com/questions/9723169/unknown-host-exception-from-the-aws-java-client – nikis

+0

@KEYSER,你可能是一個很好的SO編輯器,並自己修復它,然後提醒OP,良好的格式和語法是重要的:) – Melquiades

+0

@Melquiades我做了什麼。我不明白它是如何被調用的。這不完全是我的責任。 – keyser

回答

0

解決它自己:Internet權限失蹤清單文件

添加以下內容清單文件解決

<uses-permission android:name="android.permission.INTERNET"/> 
相關問題