Jetty被公司代理阻止

时间:2015-03-17 07:51:41

标签: java proxy jetty

我正在开发一个在码头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"。

还有其他方法可以解决这个问题吗?

1 个答案:

答案 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 );