SOCKS-ის პარამეტრები Apache HttpClient 5.5-ში კავშირების მმართველზე
აკონფიგურირეთ პულის socket პოლიტიკა SocketConfig-ით, HTTP proxy მარშრუტის ან საკუთარი socket ფაბრიკის ნაცვლად.
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 პოლიტიკას დანიშნულებისთვის; დისტანციური სახელების გადაწყვეტა მოითხოვს ცალკე შემოწმებულ კონფიგურაციას.