无法从URL获取输入流! Java的

时间:2016-02-16 10:37:34

标签: java netbeans user-agent

我有以下简单程序从网址读取图像。

public class TestWebScrapper {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        URL imageUrl;
        try {
            imageUrl = new URL("https://assets.boxdice.com.au/bj_corporate/listings/1751/4618116b.jpg");
            HttpURLConnection connection = (HttpURLConnection) imageUrl.openConnection();
                    connection.setRequestProperty(
                            "User-Agent",
                            "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0");
            BufferedImage propertImage = ImageIO.read(imageUrl);
        } catch (Exception ex) {
            Logger.getLogger(TestWebScrapper.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

}

我遇到的问题是这会产生异常

  

无法从网址获取输入流!

带有消息:

  

收到致命警报:internal_error

我尝试添加用户代理,但问题仍然存在。该链接在浏览器上正常工作。 此错误仅适用于来自此网址的图片,但有谁知道如何解决此问题?

1 个答案:

答案 0 :(得分:3)

您在连接上设置User-Agent,但随后使用imageUrl加载图片,因此无效。

使用

BufferedImage propertImage = ImageIO.read(connection.getInputStream());

代替(并在完成后关闭输入流)。