Reactor Netty ସହିତ Spring WebClient ପ୍ରକ୍ସି ବିନ୍ୟାସ କରନ୍ତୁ
WebClient ର କନେକ୍ଟର ମାଧ୍ୟମରେ ପ୍ରକ୍ସି-ବିନ୍ୟାସିତ Reactor Netty କ୍ଲାଏଣ୍ଟ ପ୍ରଦାନ କରନ୍ତୁ ଏବଂ ଏହାର CONNECT-ଆଧାରିତ ପ୍ରକ୍ସି ଆଚରଣକୁ ଧ୍ୟାନ ଦିଅନ୍ତୁ।
HttpClient httpClient = HttpClient.create()
.proxy(proxy -> proxy.type(ProxyProvider.Proxy.HTTP)
.host("203.0.113.10").port(8080));
WebClient client = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(httpClient))
.build();
ଏହି କଲ ପାଇଁ ଏହି WebClient ବ୍ୟବହାର କରନ୍ତୁ। ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ ପ୍ରକ୍ସି ମାର୍ଗରେ ସାର୍ବଜନୀନ ସେବା ପାଇଁ, HTTP ପ୍ରକ୍ସି ତାଲିକା host ଏବଂ port ପ୍ରାର୍ଥୀ ପ୍ରଦାନ କରେ; ପ୍ରକୃତ ଲକ୍ଷ୍ୟସ୍ଥଳକୁ CONNECT ପ୍ରବେଶ ନିଶ୍ଚିତ କରନ୍ତୁ। HttpClient/ProxyProvider ପ୍ରକାରଗୁଡ଼ିକ Reactor Netty ର, Java ର ମାନକ କ୍ଲାଏଣ୍ଟର ନୁହେଁ। ଅନ୍ୟ ଏକ ଇଞ୍ଜେକ୍ଟ ହୋଇଥିବା WebClient ଅନ୍ୟ ଏକ କନେକ୍ଟର ରଖିପାରେ।
Reactor Netty ର ଡକ୍ୟୁମେଣ୍ଟେଡ Netty HTTP ପ୍ରକ୍ସି ପଥ ଲକ୍ଷ୍ୟସ୍ଥଳର ସ୍କିମ ନିର୍ବିଶେଷରେ CONNECT ବ୍ୟବହାର କରେ। ତେଣୁ ଏକ ସାଧାରଣ HTTP ଲକ୍ଷ୍ୟକୁ ଏହାର port ପର୍ଯ୍ୟନ୍ତ ଟନେଲ ଅନୁମତି ଆବଶ୍ୟକ ହୋଇପାରେ, ଯଦିଓ ପ୍ରକ୍ସି ସେଠାରେ ସାଧାରଣ ଫରୱାର୍ଡ ହୋଇଥିବା HTTP ଗ୍ରହଣ କରେ। URL ର ସ୍କିମ ପରିବର୍ତ୍ତନ କରିବା ପୂର୍ବରୁ ପ୍ରକୃତ ପ୍ରକ୍ସି ପ୍ରତିକ୍ରିୟା ପଢ଼ନ୍ତୁ। ସାଧାରଣ HTTP/1.1 ଫରୱାର୍ଡିଂ ଆବଶ୍ୟକ କରୁଥିବା ସୁସଙ୍ଗତ Spring 6.2 ନିୟୋଜନ ପାଇଁ, Jetty 12.0.35 କନେକ୍ଟର ଉଦାହରଣ ସେହି ବିକଳ୍ପ ପ୍ରଦାନ କରେ।
JVM-ପ୍ରପର୍ଟି ରାଉଟିଂ ପାଇଁ, Reactor Netty ର ଡକ୍ୟୁମେଣ୍ଟେଡ opt-in ବିନ୍ୟାସ ଚୟନ କରନ୍ତୁ। JVM ରେ ଥିବା ଏକ ପ୍ରପର୍ଟି ପ୍ରତ୍ୟେକ କନେକ୍ଟର ବିନ୍ୟାସ କରେ ନାହିଁ।
ପ୍ରକ୍ସି ସେଟଅପ/ପ୍ରାମାଣିକରଣ, ଲକ୍ଷ୍ୟସ୍ଥଳର TLS ଏବଂ ଆପ୍ଲିକେସନ ପ୍ରତିକ୍ରିୟା ଅଲଗା ରଖନ୍ତୁ। କନେକ୍ଟର ମାର୍ଗ ପ୍ରଦାନ କରେ, ଲକ୍ଷ୍ୟସ୍ଥଳର ପରିଚୟପତ୍ର କିମ୍ବା ପ୍ରୋଟୋକଲ ଫଳାଫଳ ନୁହେଁ।