码头被公司代理封锁

Jetty blocked by company 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"。

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

问题是发布的源缺少设置代理。以下代码解决了问题:

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