如何通过Java获取此HTTPS图片?

时间:2015-07-11 14:20:49

标签: java http web-crawler

https://t.williamgates.net/image-E026_55A0B5BB.jpg

我尝试了HttpURLConnectionHttpsURLConnection,总是遇到这个例外:

javax.net.ssl.SSLException: Received fatal alert: internal_error

任何人都可以为此问题提供帮助吗?如果可以,请告诉我一些代码,谢谢!

2 个答案:

答案 0 :(得分:2)

我认为这就是你需要的......

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;

public class ReadImages {

    public static void main(String[] args) {
        try {
            BufferedImage img = ImageIO.read(new URL("https://t.williamgates.net/image-E026_55A0B5BB.jpg").openStream());
            ImageIO.write(img, "jpg", new File("image.jpg"));
        } catch (IOException ex) {
            Logger.getLogger(ReadImages.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

您应该参考以下类

  1. java.awt.image.BufferedImage
  2. javax.imageio.ImageIO
  3. java.net.URL

答案 1 :(得分:2)

尝试使用任何文件,而不仅仅是图片:

{{1}}

当您使用in.read(byte b [],int off,int len)方法而不是in.read()时,可以使速度更快。只是谷歌搜索一些例子。