我的应用程序需要从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文件,但我应该正确设置元数据提供程序以支持加密连接......如何?
答案 0 :(得分:2)
这不是你可以在spring boot中配置的,HttpClient不使用java变量。
因此您需要手动在httpClient上设置代理:
HostConfiguration hostConfig = new HostConfiguration();
hostConfig.setProxyHost(new ProxyHost("your.proxy.host", 8080));
httpClient.setHostConfiguration(hostConfig);