可以在 Java 应用程序中检测系统代理设置,但不能在 JUnit 中检测系统代理设置
2022-09-03 15:14:05
- 视窗 7
- Java 1.8.0_45
- 日食火星
如果您已将系统代理设置为HTTP,则仅当它从java应用程序的方法运行时,才会打印以下内容。HTTP
main
但是,如果它是从JUnit 4测试(在eclipse中)调用的,则它始终打印。DIRECT
还注意到,在 eclipse 中定义:运行配置 ->参数 -> VM 参数。测试只是挂起。-Djava.net.useSystemProxies=true
你知道发生了什么吗?
多谢
public void printSystemProxy() {
System.setProperty("java.net.useSystemProxies", "true");
try {
final List<Proxy> list = ProxySelector.getDefault().select(new URI("http://foo/bar"));
for (final Proxy proxy : list) {
System.out.println(proxy.type());
}
}
catch (final URISyntaxException e) {
throw new IllegalStateException(e);
}
}