HttpURLConnection.usingProxy() ئۇلاشتىن ئىلگىرى ۋە كېيىن
usingProxy نى بىر تەرەپ قىلغۇچى ھالىتى دەپ چۈشىنىڭ، OpenJDK 25 نىڭ ئۇلاشتىن ئىلگىرىكى ئوچۇق ۋاكالەتچى ھەرىكىتىنى ئۆز ئىچىگە ئالىدۇ.
HttpURLConnection usingProxy نى ئاشكارىلايدۇ، ئەمما نەتىجە يېنىدا ئۇلىنىشنىڭ ئىجراسى ۋە ھالىتىنى تەلەپ قىلىدۇ. بۇ سىناق تەلەپ ئەمەس.
OpenJDK 25 نىڭ HTTP بىر تەرەپ قىلغۇچىسىدا، ئوچۇق سەپلەنگەن HTTP ۋاكالەتچى تور ئۇلىنىشى ئېچىلىشتىن ئىلگىرى ئۇسۇلنىڭ true قايتۇرۇشىغا سەۋەب بولالايدۇ:
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var url = URI.create("http://example.com/").toURL();
var connection = (HttpURLConnection) url.openConnection(proxy);
boolean proxyFlag = connection.usingProxy();HTTP ۋاكالەتچى تىزىملىكىدىن HTTP نامزاتى ۋاكالەتچى دەلىللەشسىز رۇخسەت قىلىنغان ئاممىۋى تەلەپ ئۈچۈن ساھىبجامال ۋە ئېغىزنى تولدۇرالايدۇ. openConnection ئوبيېكتنى قۇرىدۇ. پەقەت شۇ ئوبيېكتنى قايتۇرۇش بىلەن HTTP ئۇلىنىشنى ئورناتمايدۇ. شۇڭا بۇ ئوچۇق ۋاكالەتچى ئەھۋالىدىكى بايراق ۋاسىتىچىنىڭ يېتىشچانلىقىنى ياكى تەلەپنى قوبۇل قىلىشىنى ئىسپاتلىمايدۇ.
ئاپتوماتىك تاللاشتا، يول تاللاش بىر تەرەپ قىلغۇچى ئۇلانغاندا كېيىن يۈز بېرىشى مۇمكىن. ئالدىنقى false نەتىجىنى ئاخىرقى يول قارارى دەپ قاراش كېرەك ئەمەس. ئۇلاشتىن كېيىن، ھالەتنى ھەرقانداق ئالاھىدە ھالەت ياكى جاۋاب بىلەن بىرگە چۈشەندۈرۈڭ، بولۇپمۇ دەلىللەش ياكى ئالماشتۇرما يول قاتناشقاندا.
ئاممىۋى ئۇسۇل HttpURLConnection غا تەۋە، ئەمما يۇقىرىقى ھەرىكەت ئاتالغان OpenJDK بىر تەرەپ قىلغۇچىسىغا خاس. باشقا تەمىنلىگۈچى ياكى JDK ئىجراسى ئوخشاش ئۇلاشتىن ئىلگىرىكى تەپسىلاتلارنى كۆرسىتىشى شەرت ئەمەس.
ۋاكالەتچىنىڭ قانداق تاللانغانلىقى ۋە بايراقنىڭ قاچان ئوقۇلغانلىقىنى خاتىرىلەڭ. مەنزىل كۆرىدىغان مەنبە ئادرېسىنى ئېنىقلاش ئۈچۈن، مەنزىل تەرەپتىن ئىسپات ساقلاڭ؛ بۇلىن ۋاكالەتچى بەلگىسىدە شۇ چىقىش ئادرېسى ئۈچۈن مەيدان يوق.