由于公司的政策,我不能在这里分享完整的代码,但这里是代码失败的地方:
try(InputStream in = new URL("URL with image file").openStream()){
Files.copy(in, Paths.get("file://newfile.png"));
} catch (Exception e) {
}
例外是:
java.net.ConnectException: Connection timed out: connect
我尝试过的事情:
- 在openstream方法前添加代理和端口号
- 添加用户代理
- 使用系统代理设置
注意:我试图从URL保存图像。我试着用我的个人系统访问URL,它正在工作。在我公司的系统中,即使添加了代理,也不是。
谁能告诉我为什么会这样?对不起,这是我的错。如果有人看到这个:
问题来自于我使用代理的方式。如果您无法连接到一个网站,否则可以通过浏览器访问在同一系统,那么您需要在Java代码中使用代理。
例如:
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("google.com", 80));
希望这对你有帮助。如果您对此有任何疑问,我很乐意帮助您。
:不要使用"https"为代理。只提供域名