// 1. 建立 SSLContext (這裡可以設定信任所有,或是載入私有 CA)
SSLContext sslContext = SSLContextBuilder.create()
.loadTrustMaterial(null, (chain, authType) -> true) // 繞過驗證
.build();
// 2. 建立 SSL 工廠
SSLConnectionSocketFactory sslsf = SSLConnectionSocketFactoryBuilder.create()
.setSslContext(sslContext)
.setHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.build();
// 3. 將 SSL 工廠註冊到連線池管理器
PoolingHttpClientConnectionManager manager = PoolingHttpClientConnectionManagerBuilder.create()
.setSSLSocketFactory(sslsf) // 告訴管理器 HTTPS 該怎麼處理
.build();
// 4. 建立支援 HTTPS 的 HttpClient
CloseableHttpClient httpClient = HttpClients.custom()
.setConnectionManager(manager)
.build();
Ly8gMS4g5bu656uLIFNTTENvbnRleHQgKOmAmeijoeWPr+S7peioreWumuS/oeS7u+aJgOacie+8jOaIluaYr+i8ieWFpeengeaciSBDQSkKClNTTENvbnRleHQgc3NsQ29udGV4dCA9IFNTTENvbnRleHRCdWlsZGVyLmNyZWF0ZSgpCgogICAgICAgIC5sb2FkVHJ1c3RNYXRlcmlhbChudWxsLCAoY2hhaW4sIGF1dGhUeXBlKSAtPiB0cnVlKSAvLyDnuZ7pgY7pqZforYkKCiAgICAgICAgLmJ1aWxkKCk7CgoKCi8vIDIuIOW7uueriyBTU0wg5bel5bugCgpTU0xDb25uZWN0aW9uU29ja2V0RmFjdG9yeSBzc2xzZiA9IFNTTENvbm5lY3Rpb25Tb2NrZXRGYWN0b3J5QnVpbGRlci5jcmVhdGUoKQoKICAgICAgICAuc2V0U3NsQ29udGV4dChzc2xDb250ZXh0KQoKICAgICAgICAuc2V0SG9zdG5hbWVWZXJpZmllcihOb29wSG9zdG5hbWVWZXJpZmllci5JTlNUQU5DRSkKCiAgICAgICAgLmJ1aWxkKCk7CgoKCi8vIDMuIOWwhyBTU0wg5bel5bug6Ki75YaK5Yiw6YCj57ea5rGg566h55CG5ZmoCgpQb29saW5nSHR0cENsaWVudENvbm5lY3Rpb25NYW5hZ2VyIG1hbmFnZXIgPSBQb29saW5nSHR0cENsaWVudENvbm5lY3Rpb25NYW5hZ2VyQnVpbGRlci5jcmVhdGUoKQoKICAgICAgICAuc2V0U1NMU29ja2V0RmFjdG9yeShzc2xzZikgLy8g5ZGK6Ki0566h55CG5ZmoIEhUVFBTIOipsuaAjum6vOiZleeQhgoKICAgICAgICAuYnVpbGQoKTsKCgoKLy8gNC4g5bu656uL5pSv5o+0IEhUVFBTIOeahCBIdHRwQ2xpZW50CgpDbG9zZWFibGVIdHRwQ2xpZW50IGh0dHBDbGllbnQgPSBIdHRwQ2xpZW50cy5jdXN0b20oKQoKICAgICAgICAuc2V0Q29ubmVjdGlvbk1hbmFnZXIobWFuYWdlcikKCiAgICAgICAgLmJ1aWxkKCk7Cg==