Apache HttpClient 5.5 მოიცავს SOCKS კონფიგურაციის გზას კავშირების მმართველის socket პარამეტრებში. მისი მხარდაჭერილი მაგალითი იყენებს setSocksProxyAddress-ს:

InetSocketAddress socks =
    new InetSocketAddress("proxy.example.net", 1080);

PoolingHttpClientConnectionManager manager =
    PoolingHttpClientConnectionManagerBuilder.create()
        .setDefaultSocketConfig(
            SocketConfig.custom()
                .setSocksProxyAddress(socks)
                .build()
        )
        .build();

CloseableHttpClient client = HttpClients.custom()
    .setConnectionManager(manager)
    .build();

ფრაგმენტი იყენებს HttpClient 5-ის org.apache.hc პაკეტებს და HttpCore-ის SocketConfig-ს. ამ კლიენტით შესრულებული მოთხოვნები იყენებენ ზემოთ კონფიგურირებულ პულს. დახურეთ კლიენტი, როცა აპლიკაციის საკუთრების არე დასრულდება.

განათავსეთ ვებსაიტის რეალური URL მოთხოვნაზე ჩვეულებისამებრ. proxy აუთენტიფიკაციის გარეშე დაშვებული საჯარო საიტების მოთხოვნებისთვის SOCKS proxy-ების სია გვთავაზობს კანდიდატ მისამართებს; აირჩიეთ SOCKS ვერსია, რომელსაც რეალური გაშვების გარემო მხარს უჭერს. SOCKS მისამართი აკონფიგურირებს იმ ტრანსპორტს, რომელიც მის მისაღწევად გამოიყენება; ეს არ არის HttpHost-ად მიწოდებული HTTP გადამისამართებადი proxy-ის მარშრუტი.

ეს არის ამ მმართველის ნაგულისხმევი socket პარამეტრები. აპლიკაციამ, რომელიც იყენებს მარშრუტის მიხედვით SocketConfig-ის გადამწყვეტს, სასურველი SOCKS პარამეტრი უნდა გამოიყენოს ამ პოლიტიკის მეშვეობით. მაგალითი ინარჩუნებს კავშირების მმართველის ჩვეულებრივ DNS პოლიტიკას დანიშნულებისთვის; დისტანციური სახელების გადაწყვეტა მოითხოვს ცალკე შემოწმებულ კონფიგურაციას.

დაკავშირებული სტატიები