簡單使用
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程序