Spring Boot中的代理设置

时间:2014-07-07 07:44:27

标签: spring spring-boot

我的应用程序需要从Web获取XML文件,如下所示:

@Bean
public HTTPMetadataProvider metadataProvider()
        throws MetadataProviderException {
    String metadataURL = "http://idp.ssocircle.com/idp-meta.xml";
    final Timer backgroundTaskTimer = new Timer(true);
    HTTPMetadataProvider provider = 
            new HTTPMetadataProvider(backgroundTaskTimer, httpClient(), metadataURL);
    provider.setParserPool(parserPool());
    return provider;
}

我使用过滤后的网络工作,因此该应用无法检索该文件。

有一种方法可以在 Spring Boot 中设置 HTTP代理(例如myproxy.eu:8080)?


或者,我可以使用HTTPS协议检索XML文件,但我应该正确设置元数据提供程序以支持加密连接......如何?

1 个答案:

答案 0 :(得分:2)

这不是你可以在spring boot中配置的,HttpClient不使用java变量。

因此您需要手动在httpClient上设置代理:

HostConfiguration hostConfig = new HostConfiguration();
hostConfig.setProxyHost(new ProxyHost("your.proxy.host", 8080));
httpClient.setHostConfiguration(hostConfig);