专栏首页码匠的流水账restTemplate访问https

restTemplate访问https

本文简述一下怎么使用restTemplate来访问https。

maven

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.3</version>
        </dependency>

这里使用httpclient的factory

配置

    @Bean
    public RestTemplate restTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException {
        TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> 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);
        RestTemplate restTemplate = new RestTemplate(requestFactory);
        return restTemplate;
    }

验证

    @Test
    public void testHttps(){
        String url = "https://free-api.heweather.com/v5/forecast?city=CN101080101&key=5c043b56de9f4371b0c7f8bee8f5b75e";
        String resp = restTemplate.getForObject(url, String.class);
        System.out.println(resp);
    }

doc

  • Small hack to avoid SSL validation in Spring RestTemplate

本文分享自微信公众号 - 码匠的流水账(geek_luandun)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 聊聊debezium的Heartbeat

    debezium-v1.1.1.Final/debezium-core/src/main/java/io/debezium/heartbeat/Heartbea...

    codecraft
  • 聊聊storm TridentTopology的构建

    storm-core-1.2.2-sources.jar!/org/apache/storm/trident/TridentTopology.java

    codecraft
  • 聊聊rocketmq的enableMsgTrace

    rocketmq-client-4.5.2-sources.jar!/org/apache/rocketmq/client/producer/DefaultMQ...

    codecraft
  • Springboot HTTP Get/Post 请求讲解,Springboot几行代码完成Http请求

    本文来自:https://www.sojson.com/blog/350.html

    为了他
  • 细说new与malloc的10点区别

    Tencent JCoder
  • Flutter 遇到的坑

    解决办法:不能直接在new MaterialApp中调用Navigator.of(context).push()

    Yif
  • 其他流---基本数据处理流

    shimeath
  • gRPC服务端启动流程走查

    小结: @1 构建监听地址SocketAddress @2 将service注册到缓存 @3 Server构建 @4 服务端启动

    瓜农老梁
  • Java微信公众平台开发(八)--多媒体消息回复之音乐

    我们上一篇写了关注出发图片的回复。想着在发送一次音乐,最后基于回复消息分类情况下,实现一个简单的只能话回复。先附一张大致效果图。

    用户2417870
  • Flutter 实战:撸半个知乎日报~HomePage

    https://github.com/zhujian1989/ZhihuDailyPurifyByFlutter

    蜻蜓队长

扫码关注云+社区

领取腾讯云代金券