@AHungerArtist的答案适用于简单的用例,您希望所有请求都使用相同的代理。但是,如果您需要通过restTemplate进行一些请求以使用代理,而另一些则不需要,则可能会发现此请求更有用。(或者,如果您更喜欢通过编程方式执行此操作,而不是希望破坏系统属性!)
@Bean
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
Proxy proxy = new Proxy(Type.HTTP, new InetSocketAddress("my.host.com", 8080));
requestFactory.setProxy(proxy);
return new RestTemplate(requestFactory);
}
您应该能够以这种方式创建restTemplate bean的副本,并以通常的方式创建另一个副本,因此您可以使用或不使用代理发送请求。