【无标题】RestTemplate提示 “I/O error on POST request for “””

时间:2025-04-04 15:15:56

: I/O error on POST request for “/xxxx/xxxx/xxxx”: Read timed out; nested exception is : Read timed out

1.首先本地重试,并没有发生超时的timeout。

2.联想到由于是https请求,可能由于https证书的问题,于是配置了信任所有证书。(代码放最后)

3.代码里配置了信任所有证书,响应就正常了。

@Bean

public RestTemplate restTemplate (RestTemplateBuilder builder) throws NoSuchAlgorithmException, KeyManagementException {

    TrustManager[] trustAllCerts =new TrustManager[] {

            new X509TrustManager() {

                @Override

                public .X509Certificate[] getAcceptedIssuers() {

                    return new X509Certificate[0];

}

                @Override

                public void checkClientTrusted(

                        .X509Certificate[] certs, String authType) {

}

                @Override

                public void checkServerTrusted(

                        .X509Certificate[] certs, String authType) {

}

}

};

    SSLContext sslContext =("SSL");

    (null, trustAllCerts, new ());

    CloseableHttpClient httpClient =()

            .setSSLContext(sslContext)

            .setSSLHostnameVerifier()

            .build();

    HttpComponentsClientHttpRequestFactory customRequestFactory =new HttpComponentsClientHttpRequestFactory();

    (httpClient);

    RestTemplate restTemplate = (() ->customRequestFactory)

            .build();

    return ();