HttpURLConnection.usingProxy() πριν και μετά τη σύνδεση
Διαβάστε το usingProxy ως κατάσταση του χειριστή, μαζί με τη συμπεριφορά ρητού διαμεσολαβητή του OpenJDK 25 πριν ανοίξει η σύνδεση.
Το HttpURLConnection εκθέτει το usingProxy, αλλά το αποτέλεσμα χρειάζεται δίπλα του την υλοποίηση και την κατάσταση της σύνδεσης. Δεν είναι δοκιμαστικό αίτημα.
Στον χειριστή HTTP του OpenJDK 25, ένας ρητά ρυθμισμένος διαμεσολαβητής 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 δεν υποχρεούται να εκθέτει τις ίδιες λεπτομέρειες πριν τη σύνδεση.
Καταγράψτε πώς επιλέχθηκε ο διαμεσολαβητής και πότε διαβάστηκε η σημαία. Για να τεκμηριώσετε τη διεύθυνση προέλευσης που βλέπει ο προορισμός, κρατήστε στοιχεία από την πλευρά του προορισμού· ένα δυαδικό σημάδι διαμεσολαβητή δεν έχει πεδίο για αυτή τη διεύθυνση εξόδου.