Http Download

Http / Https 下载文件,startWith不能验证https,测试地址:https://storage.googleapis.com/golang/go1.7.3.windows-amd64.msi

java 复制代码
private static final Logger logger = Logger.
		getLogger(MethodHandles.lookup().lookupClass());
	
	private static void sunNetSsl() {
		System.setProperty("java.protocol.handler.pkgs",
			"com.sun.net.ssl.internal.www.protocol");
		Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
	}
	
	private static void javaxNetSsl(){
		TrustManager[] trustAllCertArr = new TrustManager[]{
			new X509TrustManager() {
				public X509Certificate[] getAcceptedIssuers() {
					return null;
				}
				public void checkServerTrusted(X509Certificate[] 
					certArr,String authType) throws CertificateException {}
				public void checkClientTrusted(X509Certificate[] 
					certArr,String authType) throws CertificateException {}
		}};
		//activate trust manager
		try {
			SSLContext sc = SSLContext.getInstance("SSL");
			sc.init(null,trustAllCertArr,new SecureRandom());
			HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
		} catch (NoSuchAlgorithmException | KeyManagementException e) {
			e.printStackTrace();
		}
	}
	
	public static void download(String downloadUrl,String fileName,boolean isHttps) throws IOException{
		if (isHttps) {
			logger.info(isHttps);
			javaxNetSsl();
			//sunNetSsl();
		}
		URL url = new URL(downloadUrl);
		try(ReadableByteChannel rbc = Channels.newChannel(url.openStream());
			FileOutputStream fos = new FileOutputStream(fileName)){
			fos.getChannel().transferFrom(rbc,0,Long.MAX_VALUE);
		}catch(IOException e){
			e.printStackTrace();
		}
	}
	
相关推荐
要吃这碗饭3 小时前
深入理解 TCP 协议:从三次握手到可靠传输
网络·网络协议·tcp/ip
和裕3 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
呉師傅5 小时前
得力P2500、M2500系列打印机硒鼓加粉及清零方法【纯享版】
运维·网络·windows·电脑
大侠归来5 小时前
TCP/IP 网络编程:多播与广播
网络·tcp/ip·智能路由器
Zelman6 小时前
HTTPS 协议
网络协议·https
weixin_416667966 小时前
银河麒麟V10看门狗试验-1
网络·chrome·python
白帽攻防录7 小时前
SRC 挖洞:WSO2 JWT 算法混淆绕过深度复盘,CVE-2026-5430 不支持的算法怎么变成管理员
网络·算法·安全·网络安全·jwt
starzy19907 小时前
Flink 优化之网络缓存优化及参数详解:从数据传输机制到反压原理的生产调优指南
网络·缓存·flink
正经教主8 小时前
【FDE系列】阶段3:Day 58:Prompt 安全 — 注入、越狱与防护
网络·人工智能·安全·prompt·fde
实点科技9 小时前
实点科技IO-Link I/O IOL7A/B系列参数配置方法介绍
网络