代理选择器行为

时间:2018-11-30 19:44:35

标签: java android proxy proxyselector

我对代理选择器有问题。在我的代理选择器自定义类中,仅当布尔变量(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;

}

0 个答案:

没有答案