我对代理选择器有问题。在我的代理选择器自定义类中,仅当布尔变量(isServiceEnabled)设置为false时,我才希望通过Proxy.NO_PROXY配置发送所有请求,这确实可以正常工作,但是当我将此变量设置为true时,我希望选择器开始工作再次,我的问题是,当将此变量设置为true时,代理选择器需要一些时间才能开始工作。它一直保持直接发送请求的状态,但过了几分钟,它又开始工作并通过我声明的代理路由所有请求(而且,只有通过Proxy.NO_PROXY的网址才有这种行为)。
我非常感谢您对代理选择器的工作方式的支持!我已经搜索了很长时间,但没有找到有关此行为的任何信息。先感谢您。这是我的选择方法代码。
@Override
public List<Proxy> select(URI uri) {
if (uri == null) {
throw new IllegalArgumentException("URI can't be null.");
}
/**Declaring socket address and proxy*/
SocketAddress address = new InetSocketAddress("14.134.1.201", 6000);
Proxy proxy = new Proxy(Proxy.Type.HTTP, address);
/**Checking if service is enabled*/
if(isServiceEnabled){
List<Proxy> l = Collections.singletonList(proxy);
return l;
}
/**If no rule matched then access url directly*/
List<Proxy> l= Collections.singletonList(Proxy.NO_PROXY);
return l;
}