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 იმპლემენტაციას არ უნდა წარმოადგინოს იგივე კავშირამდელი დეტალები.
ჩაწერეთ, როგორ შეირჩა პროქსი და როდის წაიკითხეს დროშა. იმ წყაროს მისამართის დასადგენად, რომელსაც დანიშნულება ხედავს, შეინახეთ მტკიცებულებები დანიშნულების მხრიდან; ბულეურ პროქსის ნიშანს ამ გამოსვლის მისამართისთვის ველი არ აქვს.