Java 仅限 VPN 网站的 HTTP 请求

Java HTTP Request on VPN only website

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

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

  1. 实际互联网连接
  2. 公司网络(不能上网)。

默认 HTTP 客户端超时,因为我认为它使用实际的互联网连接发出请求(并且 public 无法访问该网站),但使用此代码:

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

我收到以下错误:

I/O exception caught when connectiong to /10.x.x.x -> {s} -> https://zzz.com:443: Network is unreachable: connect

此外,这可能是一个愚蠢的测试,但我已经向 "what is my ip" 站点发出了 HTTP 请求,IP 显示为我的 Wifi IP,而不是通过 VPN 的 IP(当我打开浏览器和浏览到 "what is my ip" 网站)。当我使用无图形用户界面的浏览器(Jaunt 或 HTMLUnit)尝试这个时,同样的事情(错误的 IP)。

如果有任何解决办法,请告知。

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

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