一尘不染

Spring Boot中的代理设置

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文件,但是我应该正确设置元数据提供程序以支持加密连接…如何?


阅读 1117

收藏
2020-05-30

共1个答案

一尘不染

这不是您可以在Spring Boot中配置的东西,HttpClient没有使用Java变量。

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

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