我正在使用Jedis,我无法直接连接到Redis,我必须使用代理。
我可以使用 socks 代理通过Redis连接到Jedis吗?

你能帮我吗。

问候。

最佳答案

我一直在寻找解决方案,但找不到任何解决方案。因此,我进行了以下更改以解决此问题:

 @NotNull
    private ProxySelector proxySelector() {
        return new ProxySelector() {
            @Override
            public List<Proxy> select(URI uri) {
                List<Proxy> proxies = new LinkedList<>();
                InetSocketAddress socketAddress =
                    new InetSocketAddress(proxyHost, proxyPort);
                proxies.add(new Proxy(Type.HTTP, socketAddress));
                return proxies;
            }

            @Override
            public void connectFailed(URI uri, SocketAddress sa, IOException e) {
                log.error(String.format(
                    "Connection to proxy server %s with socket address %s failed with error. %s",
                    uri, sa, e));
            }
        };
    }

然后设置默认的代理选择器:ProxySelector.setDefault(proxySelector());

09-09 19:55