HttpClient和RestTemplate添加代理proxy

@Bean("innerHttpClient")
public CloseableHttpClient innerHttpClient() {
    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
    // Increase max total connection to 200
    cm.setMaxTotal(200);
    // Increase default max connection per route to 20
    cm.setDefaultMaxPerRoute(20);

    CloseableHttpClient httpClient = HttpClients.custom()
            .setConnectionManager(cm)
            .build();
    return httpClient;
}

@Bean("outerHttpClient")
public CloseableHttpClient outerHttpClient() {
    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
    // Increase max total connection to 200
    cm.setMaxTotal(200);
    // Increase default max connection per route to 20
    cm.setDefaultMaxPerRoute(20);
    HttpHost proxy = new HttpHost(httpProxyHost, httpProxyPort);

    CloseableHttpClient httpClient = HttpClients.custom()
            .setConnectionManager(cm)
            .setProxy(proxy)
            .build();
    return httpClient;
}

/**
 * 内网restTemplate配置
 */
@Bean("innerRestTemplate")
RestTemplate innerRestTemplate(@Qualifier("innerHttpClient") CloseableHttpClient innerHttpClient) {
    HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(innerHttpClient);
    RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory);
    return restTemplate;
}

/**
 * 外网restTemplate配置
 */
@Bean("outerRestTemplate")
RestTemplate outerRestTemplate(@Qualifier("outerHttpClient") CloseableHttpClient outerHttpClient) {
    HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(outerHttpClient);
    RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory);
    return restTemplate;
}
发布了328 篇原创文章 · 获赞 23 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/lbh199466/article/details/103921453