首页 > 解决方案 > 无法从 url 错误 java 获取输入流

问题描述

我在 selenium 中制作了一个程序,可以从网站中提取一些图像的链接,所以在提取链接后,我想将所有这些图像保存在一个文件夹中,所以我为此编写了一些代码

for(int j=0; j<links.size(); j++) {
                 URL imageURL = new URL(linklist[j]);
                 BufferedImage saveImage = ImageIO.read(imageURL);
                 ImageIO.write(saveImage, "png", new File("C:\\Users\\Dumpty\\Desktop\\Output\\logo-forum"+ j +".png"));
        }

是的,我使用数组来存储 url,为了确认,我用这段代码打印了所有链接

for(int k=0; k<links.size(); k++) {
            System.out.println(linklist[k]);
        }

一切似乎都工作正常,但在提取我面临的问题时,我得到 Can't get input stream from URL!错误我也试过这个 Can't get input stream from URL! Java ,但它仍然无法正常工作这是我得到的错误的完整视图

Exception in thread "main" javax.imageio.IIOException: Can't get input stream from URL!
    at javax.imageio.ImageIO.read(Unknown Source)
    at com.phantomjs.phantomJStest.main(phantomJStest.java:58)
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: https://lh3.googleusercontent.com/f_kendBNnYqba-mMV-3ItGZ2zzbChaaV22nE4uaEW92EWtXPzvFYwDk82AKQ6YlOru4=w1440-h620 2x
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
    at java.net.URL.openStream(Unknown Source)
    ... 2 more

标签: javaimageselenium-webdriverimage-processingphantomjs

解决方案


我认为这与您的代码无关。如果您完全阅读了异常消息,那么您就有了解决方案。

检查什么是400 HTTP 错误。这是来自您的客户的错误请求,看起来您要询问的 URL 格式不正确,因为它包含一个空格。您可以尝试对您的输入进行URL 编码。imageURL


推荐阅读