在 Java 8 之后的版本中更改了 `url.openStream` 行为

Change in `url.openStream` behaviour in later Java 8 versions

我有一个程序可以使用

从我们的内部 SVN 打开文件
url.openStream();

url。这适用于 Java 7 以及 jdk1.8.0_161.

但是,当我尝试使用 OpenJDK 版本 jdk8u202-b08 时,我得到了

java.io.IOException: Server returned HTTP response code: 401 for URL: ...

openStream 的行为在 Java 8 的更高版本中是否发生了变化?如果是这样,我该如何解决这个问题?

编辑:

其他测试表明,版本 8u192 中的 OpenJDK 也可以正常工作。所以这一定是构建版本 192 和 202 之间的变化。

我的同事终于发现身份验证的默认行为发生了变化。您可以使用

来扭转这一局面
java -Djdk.http.ntlm.transparentAuth=enabled -Djdk.http.ntlm.transparentAuth=trustedHosts

另请参阅:

How to provide ntlm authentication while calling any url?