java web----URL类使用

 简单使用

import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Server{
    public static void main(String[] args) {
        try {
            URL url = new URL("https://img2.mtime.com/up/722/1722722/84E2C3E0-DD60-41EA-AAB1-2BDC8A0578AD_500.jpg");
            HttpURLConnection coon = (HttpURLConnection) url.openConnection();

            BufferedInputStream bis = new BufferedInputStream(coon.getInputStream());

            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\Users\zhengyan\Desktop\test1\1.jpg"));
            byte bytes[] = new byte[1024];
            int len;
            while ((len=bis.read(bytes))!=-1){
                bos.write(bytes,0,len);
            }
            bis.close();
            bos.close();
            System.out.println("下载完成");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用java URL下载资源

如果出现:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

原因可能是java中没有安装信任的证书

1、将所需要访问的网站的有效证书下载下来,到任意位置

2、在控制台中输入(最好以管理员模式)

send,为证书文件的名字(下载的时候命名的)  , D:javajdk1.8.0_201jrelibsecuritycacerts,为本机的cacerts路径,  C:UserszhengyanDesktopsend.cer ,为证书的路径

keytool -import -alias send -keystore D:javajdk1.8.0_201jrelibsecuritycacerts  -file C:UserszhengyanDesktopsend.cer

3、重启  java程序

原文地址:https://www.cnblogs.com/yanxiaoge/p/10743828.html