HTTP-запрос по протоколу SOCKS - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь использовать прокси Socks 5 для отправки http-запросов.Поставщик прокси отключил http или что-то еще.Я получаю следующую ошибку:

Exception in thread "main" java.net.SocketException: SOCKS: Connection not allowed by ruleset

Я использую код

    System.setProperty("java.net.socks.username", user);
    System.setProperty("java.net.socks.password", pass);

    Proxy prox = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(ip, 8000));
    URL url = new URL("https://www.myip.com");
    URLConnection con = url.openConnection(prox);

    con.setConnectTimeout(10000);
    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));

    String line;
    while ((line = in.readLine()) != null) {
        System.out.println(line);
    }
    in.close();

Как мне туннелировать (?) Этот http-запрос через прокси?

PSЯ знаю, что это возможно, потому что какое-то расширение в Firefox позволяет мне использовать прокси. Я также пробовал этот код, но это приводит к той же ошибке: https://pastebin.com/xt6evbm7

1 Ответ

0 голосов
/ 18 января 2019

Эта система не использует системные свойства.

        Authenticator.setDefault(new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(user, pass.toCharArray());
            }
        });
...