安卓的HttpURLConnection的getInputStream引发NullPointerException异常异常、HttpURLConnection、getInputStream、NullP

2023-09-06 16:30:06 作者:小姐,给个kiss好么

我想从这个网址下载图片:

I am trying to download the image from this url:

的https://hme_player_pictures.s3.amazonaws.com/test-512813ed3b83286c72f376c7-thumb100.jpg

下面是堆栈跟踪:

03-21 12:58:04.040: W/System.err(7084): java.lang.NullPointerException
03-21 12:58:04.040: W/System.err(7084):     at libcore.net.http.HttpConnection$Address.hashCode(HttpConnection.java:343)
03-21 12:58:04.045: W/System.err(7084):     at java.util.HashMap.get(HashMap.java:298)
03-21 12:58:04.050: W/System.err(7084):     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:67)
03-21 12:58:04.050: W/System.err(7084):     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
03-21 12:58:04.050: W/System.err(7084):     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
03-21 12:58:04.055: W/System.err(7084):     at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:460)
03-21 12:58:04.055: W/System.err(7084):     at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:432)
03-21 12:58:04.055: W/System.err(7084):     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
03-21 12:58:04.060: W/System.err(7084):     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
03-21 12:58:04.065: W/System.err(7084):     at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)
03-21 12:58:04.065: W/System.err(7084):     at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
03-21 12:58:04.070: W/System.err(7084):     at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:270)
03-21 12:58:04.070: W/System.err(7084): ...

code:

code:

URL imageUrl = new URL(url);
HttpURLConnection c = (HttpURLConnection)imageUrl.openConnection();
InputStream in = c.getInputStream(); // Nullpointer exception on this line, c is definitely not null, I debugged

想不通为什么它被抛出NullPointerException异常。上述网址并在浏览器中运行。

Can't figure out why it is throwing NullPointerException. The above url does work in the browser.

推荐答案

由于怀疑问题是与URL的Amazon S3的主机名。

As suspected issue was with host name of url of amazon s3.

让我改变了

的https://hme_player_pictures.s3.amazonaws.com/test-512813ed3b83286c72f376c7-thumb100.jpg

的https://s3.amazonaws.com/hme_player_pictures/test-512813ed3b83286c72f376c7-thumb100.jpg

和它的工作。我的Java code是幸福吧!

and it worked. My Java code is happy now!