java - 由于连接超时,无法通过 ImageIO.read(url) 获取图像

标签 java url timeout connection javax.imageio

下面的代码似乎总是失败:

    URL url = new URL("http://userserve-ak.last.fm/serve/126/8636005.jpg");
    Image img = ImageIO.read(url);
    System.out.println(img);

我检查了网址,它是一个有效的 jpg 图片。我得到的错误是:

Exception in thread "main" javax.imageio.IIOException: Can't get input stream from URL!
at javax.imageio.ImageIO.read(ImageIO.java:1385)
at maestro.Main2.main(Main2.java:25)

Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at sun.net.NetworkClient.doConnect(NetworkClient.java:174)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:409)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
at sun.net.www.http.HttpClient.(HttpClient.java:240)
at sun.net.www.http.HttpClient.New(HttpClient.java:321)
at sun.net.www.http.HttpClient.New(HttpClient.java:338)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:814)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:755)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:680)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1005)
at java.net.URL.openStream(URL.java:1029)
at javax.imageio.ImageIO.read(ImageIO.java:1383)
... 1 more

Java Result: 1

这是什么意思? 有趣的是,如果我将我的互联网连接更改为邻居的无线网络连接,它突然就可以工作了。

最佳答案

这对我有用。 :)

URL url = new URL("http://userserve-ak.last.fm/serve/126/8636005.jpg");
Image image = ImageIO.read(url.openStream());
System.out.println(image);

我知道我迟到了。因为,即使我也遇到了同样的问题,我想把它放在一起,因为它会对某些人有所帮助。 :)

关于java - 由于连接超时,无法通过 ImageIO.read(url) 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023243/

相关文章:

wpf - WPF xaml 文件开头的 xmlns=[some url] 属性有什么用?

由于未知协议(protocol) : blob,java.net.URL 类抛出 MalformedException

Angular 2 rxjs 超时回调

java - 在调用 PreparedStatement 时以毫秒为单位设置查询超时,而不是秒?

java - Java 中带有 gridLayout 的 JPanel 子类

java - 如何让eclipse在打开时将依赖的maven项目部署到tomcat?

java - 在多个 Android 应用程序之间共享一条数据

java - 如何在 Piccolo2D 中的形状上打洞?

ios - 从 UIWebview 保存的 URL 与 True Url 不对应

ios - 使用AWSS3TransferManagerUploadRequest如何设置超时间隔?