我正在开发一个在码头9.2.0中运行的应用程序。 到目前为止工作正常。
现在我必须实现一项需要加载网页的功能。我正在使用此代码加载它:
@Path( "/bla")
@GET
@Produces( MediaType.APPLICATION_JSON )
public ChildList getBla() {
ChildList childList = new ChildList();
String url = "http://www.google.de";
HttpGet httpGet = new HttpGet( url ) ;
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
try{
response = httpClient.execute( httpGet );
} catch ( Exception e ) {
e.printStackTrace();
}
return childList;
}
我得到一个" UnknownHostException"。
我尝试使用-Dhttp.proxyHost
,-Dhttp.proxyPort
,-Dhttp.proxyUser
和-Dhttp.proxyPassword
启动码头。我还尝试使用System.setProperty()
在上面的方法中设置这些属性。
然后我尝试在Java控制面板中设置代理设置。
但我仍然得到" UnknownHostException"。
还有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
问题是发布的来源缺少设置代理。以下代码解决了问题:
HttpGet request = new HttpGet( url ) ;
HttpHost proxy = new HttpHost( System.getProperty( "http.proxyHost" ), Integer.parseInt( System.getProperty( "http.proxyPort" ) ), "http");
RequestConfig config = RequestConfig.custom().setProxy( proxy ).build();
request.setConfig( config );