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:\java\jdk1.8.0_201\jre\lib\security\cacerts,为本机的cacerts路径,  C:\Users\zhengyan\Desktop\send.cer ,为证书的路径

keytool -import -alias send -keystore D:\java\jdk1.8.0_201\jre\lib\security\cacerts  -file C:\Users\zhengyan\Desktop\send.cer

3、重启  java程序

posted @ 2019-04-21 08:59  小名的同学  阅读(953)  评论(0编辑  收藏  举报