【发布时间】:2020-08-16 11:53:12
【问题描述】:
我对网络有非常基本的了解。请ELI5
我有一些命中测试 REST 端点 (GET) 的 Java 代码。 https://postman-echo.com/get?foo1=bar1&foo2=bar2
在我的本地环境中运行我的代码并且我关闭了我的公司 VPN 时,我可以无错误地访问该端点。
当我打开公司 VPN 时,我开始收到奇怪的错误,特别是 javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
连接到 VPN 时可能导致我的 java 代码中断的原因是什么?
更奇怪的是,当我在打开 VPN 的情况下在浏览器中输入端点时,我能够点击端点,因为一切正常。
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://postman-echo.com/get?foo1=bar1&foo2=bar2")
.build();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
}
编辑
我可以访问两个代理,一个在我的浏览器中使用产生 400 错误,另一个在我的代码中工作。为什么在使用 VPN 时需要代理?我的 2 个代理之间有什么不同,为什么一个会在我的代码中生成 400 而另一个不会?
【问题讨论】:
标签: java ssl networking vpn okhttp