java.net.UnknownHostException:无法解决某些URL的主机异常

时间:2014-02-20 06:38:58

标签: android networking android-networking android-internet

我正在尝试从一些网址下载一些图片。问题是它们中的一些被正常下载但有些正在给出错误 - java.net.UnknownHostException: Unable to resolve host "image-url": No address associated with hostname.已经给出了必要的权限,wifi也正常工作。以下是例外: -

02-20 11:34:45.230: W/System.err(9336): java.net.UnknownHostException: Unable to resolve host "image-url": No address associated with hostname.
at java.net.InetAddress.lookupHostByName(InetAddress.java:424)
02-20 11:34:45.230: W/System.err(9336):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
02-20 11:34:45.230: W/System.err(9336):     at java.net.InetAddress.getAllByName(InetAddress.java:214)
02-20 11:34:45.240: W/System.err(9336):     at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
02-20 11:34:45.240: W/System.err(9336):     at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
02-20 11:34:45.240: W/System.err(9336):     at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
02-20 11:34:45.240: W/System.err(9336):     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
02-20 11:34:45.240: W/System.err(9336):     at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
02-20 11:34:45.240: W/System.err(9336):     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
02-20 11:34:45.240: W/System.err(9336):     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
02-20 11:34:45.240: W/System.err(9336):     at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
02-20 11:34:45.240: W/System.err(9336):     at com.aquimo.downloadengine.ResourceDownloaderAndAllocator.loadFile(ResourceDownloaderAndAllocator.java:103)
02-20 11:34:45.240: W/System.err(9336):     at com.aquimo.downloadengine.ResourceDownloaderAndAllocator.access$0(ResourceDownloaderAndAllocator.java:72)
02-20 11:34:45.250: W/System.err(9336):     at com.aquimo.downloadengine.ResourceDownloaderAndAllocator$1.run(ResourceDownloaderAndAllocator.java:37)
02-20 11:34:45.250: W/System.err(9336):     at java.lang.Thread.run(Thread.java:841)
02-20 11:34:45.250: W/System.err(9336): Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
02-20 11:34:45.250: W/System.err(9336):     at libcore.io.Posix.getaddrinfo(Native Method)
02-20 11:34:45.260: W/System.err(9336):     at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:61)
02-20 11:34:45.260: W/System.err(9336):     at java.net.InetAddress.lookupHostByName(InetAddress.java:405)

以下是代码: -

HttpURLConnection ucon = (HttpURLConnection)url.openConnection();
ucon.setDoInput(true);
ucon.connect();
InputStream inputStream = ucon.getInputStream();
FileOutputStream fileOutput = new FileOutputStream(file);
Log.d(TAG, "inputStream size = " + inputStream.available());
int downloadedSize = 0;
byte[] buffer = new byte[1024];
int bufferLength = 0;
while ((bufferLength = inputStream.read(buffer)) > 0)
{
    fileOutput.write(buffer, 0, bufferLength);
    downloadedSize += bufferLength;
    Log.i(TAG, "Progress: " + "downloadedSize:" + downloadedSize);
}
fileOutput.close();

1 个答案:

答案 0 :(得分:0)

java.net.UnknownHostException: Unable to resolve host "image-url": No address associated with hostname

这意味着您要传递"image-url"作为要加载的网址。除非你将它映射到有效的IP,否则你不会得到任何东西。