经过许多不同的选择之后,由于能够在创建时为RestTemplate设置代理,因此我可以选择以下代码,因此我可以将其重构为单独的方法。只是要注意,它还具有其他依赖性,因此请记住这一点。
private RestTemplate createRestTemplate() throws Exception { final String username = "myusername"; final String password = "myPass"; final String proxyUrl = "proxy.nyc.bigtower.com"; final int port = 8080; CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(proxyUrl, port), new UsernamePasswordCredentials(username, password) ); HttpHost myProxy = new HttpHost(proxyUrl, port); HttpClientBuilder clientBuilder = HttpClientBuilder.create(); clientBuilder.setProxy(myProxy).setDefaultCredentialsProvider(credsProvider).disablecookieManagement(); HttpClient httpClient = clientBuilder.build(); HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); factory.setHttpClient(httpClient); return new RestTemplate(factory);}//我使用的依赖项
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.2.5.RELEASE</version></dependency>



