图像下载Java

时间:2014-11-03 14:14:25

标签: java netbeans

此代码应下载网页中指定的图片,但会抛出

  线程中的

异常" main" javax.net.ssl.SSLProtocolException:handshake alert:unrecognized_name

请帮我解决这个问题。我使用 NetBeans 7.1.1 进行了测试。

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;

public class Download {

    public static void main(final String[] args) throws Exception {
        String fileName = "Google_logo.png";
        String website = "https://img3.wikia.nocookie.net/cb20100520131746/logopedia/images/5/5c/" + fileName;
        System.out.println("Downloading File From: " + website);
        URL url = new URL(website);
        InputStream inputStream = url.openStream();
        OutputStream outputStream = new FileOutputStream(fileName);
        byte[] buffer = new byte[2048];
        int length;
        while ((length = inputStream.read(buffer)) != -1) {
            System.out.println("Buuffer Read of length :" + length);
            outputStream.write(buffer, 0, length);
        }
        inputStream.close();
        outputStream.close();
    }
}

1 个答案:

答案 0 :(得分:1)

通常,当您想使用浏览器在某个网站下载图片或文件时,您会向服务器发送Http请求,然后服务器返回响应。浏览器会从响应中读取内容,并通过弹出“另存为”来询问您在何处存储下载内容。窗口。

对于您的程序,您只需打开某个URL的连接,并尝试将此连接信息写入某处。您需要做的是伪造对某个URL发出http请求,捕获响应并提取响应内容以输出到您想要的地方。 HttpClient可以帮助您做到这一点。