九阴真经


RestTemplate支持https请求

<h5>依赖</h5> <pre><code> &lt;dependency&gt; &lt;groupId&gt;org.apache.httpcomponents&lt;/groupId&gt; &lt;artifactId&gt;httpclient&lt;/artifactId&gt; &lt;version&gt;4.5.3&lt;/version&gt; &lt;/dependency&gt;</code></pre> <h5>配置</h5> <pre><code>package com.example.demo.config; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.conn.ssl.TrustStrategy; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.web.client.RestTemplate; import javax.net.ssl.SSLContext; import java.security.KeyManagementException; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.cert.X509Certificate; @Configuration public class CoreConfig { /** * 超时时间2分钟 */ private int outtime = 2 * 60 * 1000; /** * http 调用 配置支持https 需要httpclient的支持 * * @return */ @Bean public RestTemplate restTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException { TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -&gt; true; SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom() .loadTrustMaterial(null, acceptingTrustStrategy) .build(); SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext); CloseableHttpClient httpClient = HttpClients.custom() .setSSLSocketFactory(csf) .build(); HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); requestFactory.setHttpClient(httpClient); requestFactory.setConnectTimeout(outtime); requestFactory.setReadTimeout(outtime); RestTemplate restTemplate = new RestTemplate(requestFactory); return restTemplate; } } </code></pre> <h5>测试</h5> <pre><code> @Test void testHttps(){ String str = restTemplate.getForObject("https://free-api.heweather.com/v5/forecast?city=CN101080101&amp;key=5c043b56de9f4371b0c7f8bee8f5b75e", String.class); System.out.println("baidu:\n"); System.out.println(str); } </code></pre>

页面列表

ITEM_HTML