java中調用https請求忽略ssl證書認證代碼示例
更新時間:2024年10月26日 09:07:33 作者:新時代農民~
在網絡請求中經常會遇到需要忽略證書認證的情況,這篇文章主要介紹了java中調用https請求忽略ssl證書認證的相關資料,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
1、獲取httpclient,忽略證書認證
public static CloseableHttpClient createSSLClientDefault() {
try {
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
// 信任所有證書
public boolean isTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException {
return true;
}
}).build();
// 創(chuàng)建主機名驗證器,用于繞過主機名驗證
HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE;
// 創(chuàng)建 SSL 連接套接字工廠,將自定義的 SSL 上下文和主機名驗證器應用于 HTTPS 連接
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, hostnameVerifier);
// 創(chuàng)建自定義的 CloseableHttpClient 實例,將 SSL 連接套接字工廠應用于 HTTP 客戶端
return HttpClients.custom().setSSLSocketFactory(sslsf).build();
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
}
return HttpClients.createDefault();
}2、使用put請求調用
public static String put(String url, Map<String, String> header, String param) throws Exception {
String result = "";
StringEntity entity = new StringEntity(param, "utf-8");
CloseableHttpClient httpClient = null;
try {
httpClient = createSSLClientDefault();
HttpPut httpPut = new HttpPut(url);
if (MapUtils.isNotEmpty(header)) {
for (Map.Entry<String, String> entry : header.entrySet()) {
httpPut.addHeader(entry.getKey(), entry.getValue());
}
}
if (entity != null) {
entity.setContentType("application/json; charset=utf-8");
httpPut.setEntity(entity);
}
LogUtil.info("開始請求https接口:" + url );
HttpResponse httpResponse = httpClient.execute(httpPut);
LogUtil.info("put請求返回httpResponse結果:" + httpResponse);
HttpEntity resEntity = httpResponse.getEntity();
result = EntityUtils.toString(resEntity, "UTF-8");
LogUtil.info("put請求返回結果:" + result);
} catch (Exception e) {
throw e;
} finally {
if (httpClient != null) {
httpClient.close();
}
}
return result;
}總結
到此這篇關于java中調用https請求忽略ssl證書認證的文章就介紹到這了,更多相關java調用https請求忽略ssl認證內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot+WebMagic+MyBaties實現(xiàn)爬蟲和數據入庫的示例
WebMagic是一個開源爬蟲框架,本項目通過在SpringBoot項目中使用WebMagic去抓取數據,最后使用MyBatis將數據入庫。具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10
關于mybatis-plus-generator的簡單使用示例詳解
在springboot項目中集成mybatis-plus是很方便開發(fā)的,最近看了一下plus的文檔,簡單用一下它的代碼生成器,接下來通過實例代碼講解關于mybatis-plus-generator的簡單使用,感興趣的朋友跟隨小編一起看看吧2024-03-03
idea新建Springboot項目,設置默認maven和jdk版本方式
這篇文章主要介紹了idea新建Springboot項目,設置默認maven和jdk版本方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
Java中tomcat memecached session 共享同步問題的解決辦法
這篇文章主要介紹了Java中tomcat memecached session 共享同步問題的解決辦法的相關資料,需要的朋友可以參考下2015-10-10
Java利用HttpClient模擬POST表單操作應用及注意事項
本文主要介紹JAVA中利用HttpClient模擬POST表單操作,希望對大家有所幫助。2016-04-04
如何使用spring-ws發(fā)布webservice服務
文章介紹了如何使用Spring-WS發(fā)布Web服務,包括添加依賴、創(chuàng)建XSD文件、生成JAXB實體、配置Endpoint、啟動服務等步驟,結合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-11-11

