仅限VPN网站上的Java HTTP请求

时间:2016-06-30 20:58:50

标签: java apache http vpn http-get

我正在尝试为我们的一个内部网站构建网站解析器(只能从公司网络访问 - 我们通过Cisco AnyConnect VPN进入网络)。

我可以在任何浏览器中访问该网站,但不能使用HTTP请求。 Windows网络和共享中心显示我有两个活动网络:

  1. 实际的互联网连接
  2. 公司网络(无法访问互联网)。
  3. 默认HTTP客户端超时,因为我认为它使用实际的互联网连接发出请求(公共网站无法访问),但使用此代码:

    HttpParams params = httpClient.getParams();
    params.setParameter(ConnRoutePNames.LOCAL_ADDRESS, InetAddress.getByName("10.x.x.x"));
    

    我收到以下错误:

      

    连接到/10.x.x.x时触发的I / O异常 - > {s} - > https://zzz.com:443:网络无法访问:连接

    此外,可能是一个愚蠢的测试,但我已经对"我的ip"网站和IP显示为我的Wifi IP而不是通过VPN的IP(当我打开浏览器并浏览到"什么是我的IP"网站时,我得到)。当我使用无gui浏览器(Jaunt或HTMLUnit)尝试此操作时,同样的事情(错误的IP)。

    请告知是否有任何修复。

1 个答案:

答案 0 :(得分:0)

ConnRoutePNames似乎已被弃用。看看以下是否有效(我还没有测试过):

HttpHost proxy = new HttpHost("10.x.x.x", 80);
HttpRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);
CloseableHttpClient httpclient = HttpClients.custom()
                    .setRoutePlanner(routePlanner)
                    .build();