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确实存在。
你尝试过这个问题吗? http://stackoverflow.com/questions/9723169/unknown-host-exception-from-the-aws-java-client – nikis
@KEYSER,你可能是一个很好的SO编辑器,并自己修复它,然后提醒OP,良好的格式和语法是重要的:) – Melquiades
@Melquiades我做了什么。我不明白它是如何被调用的。这不完全是我的责任。 – keyser