无法从URL错误Java获取输入流

时间:2019-01-19 21:17:54

标签: java image selenium-webdriver image-processing phantomjs

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

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"));
        }

是的,我正在使用数组来存储网址,并为了确认我用此代码打印了所有链接

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

一切似乎都工作正常,但在提取过程中我面临问题,即时消息 无法从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

1 个答案:

答案 0 :(得分:1)

我认为这与您的代码无关。如果您完整阅读异常消息,则可以找到解决方法。

检查什么是400 HTTP error is。您的客户提出了一个错误的请求,它看起来像您要查询的网址格式错误,因为其中包含空格。您可以尝试URL encode输入EntityManager